UTC时间&本地时间

《C++--UTC时间ISO8601格式与本地时间转换》 做c/s开发,肯定要与时间打交道。 很多时候,获取本地的时间,也就是大陆境内的东八区时间。但是为了保证国际化,服务器往往采用的是0区的时间。之前博客介绍了C++中关于时间的函数: http://blog.youkuaiyun.com/wangshubo1989/article/details/50500515首先明确几个概念: UTC时间与GMT时间 Greenwich Mean Time (GMT) 阅读详情

UTC时间&本地时间(一)

     整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。在本文中,UTC与GMT含义完全相同。

     北京时区是东八区,领先UTC八个小时,在电子邮件信头的Date域记为+0800。如果在电子邮件的信头中有这么一行:

Date: Thurs, 31 Dec 2009 09:42:22 +0800

说明信件的发送地的地方时间是二○○九年十二月三十一号,星期四,早上九点四十二分(二十二秒),这个地方的本地时领先UTC八个小时(+0800, 就是东八区时间)。电子邮件信头的Date域使用二十四小时的时钟,而不使用AM和PM来标记上下午。

以这个电子邮件的发送时间为例,如果要把这个时间转化为UTC,可以使用一下公式:

      UTC + 时区差 = 本地时间

      时区差东为正,西为负。在此,把东八区时区差记为 +0800,

      UTC + (+0800) = 本地(北京)时间                    (1式)

      UTC = 本地时间(北京时间))- 0800                    (2式)

      0942 - 0800 = 0142

      即UTC时间是当天凌晨一点四十二分二十二秒。如果结果是负数就意味着是UTC前一天,把这个负数加上2400就是UTC在前一天的时间。例如,本地(北京)时间是 0432 (凌晨四点三十二分),那么,UTC就是 0432 - 0800 = -0368,负号意味着是前一天, -0368 + 2400 = 2032,既前一天的晚上八点三十二分。

     纽约的时区是西五区,比UTC落后五个小时,记为 -0500:

      UTC + (-0500) = 纽约时间                             (3式)

      UTC = 纽约时间 + 0500                                   (4式)

把(2)式 与 (4)式相比较,

      UTC = 北京时间 - 0800 = 纽约时间 + 0500     (5式)

      即 北京时间 = 纽约时间 + 1300                         (6式)

即北京时间领先纽约时间十三个小时,由(6) 式,

      纽约时间 = 北京时间 - 1300                             (7式)

      在四月下旬,纽约又换用夏令时,又称为日光节约时,比标准纽约时间提前一个小时,实际成为西四区的标准时间,成为 -0400。

UTC + (-0400) = 纽约夏令时,套用以上公式,

      北京时间 = 纽约夏令时 + 1200

      纽约夏令时 = 北京时间 - 1200

在这些转换中,最重要的公式就是

      UTC + 时区差 = 本地时间

      时区差东为正,西为负。 例如,东八区(北京)是 +0800,西五区(纽约)是-0500,加州是西八区,是-0800,美国中部时区是西六区,-0600,美国山地时区是西七区,-0700,太平洋时区是西八区,-0800,在夏天使用夏时制,成为-0700。德国时区是东一区,+0100,夏天变为+0200。

     多数电子邮件程序,例如Outlook Express,在显示时间时,计算机程序把时间先转换成为本地时间再显示,例如,邮件的Date域为:

     Date: Fri, 08 Nov 2002 09:42:22 +0800

     Outlook Express在显示时就显示为:

Date: Thur, 07 Nov 2002 08:42:22 pm,把北京时间转换成为了纽约时间,而且把二十四小时格式的时间转换成为了十二小时的格式。当然,为了时间转换正确,发送方和接受方的计算机的时区都要设置正确,在这里,发送方的时区要正确地设为北京时区东八区,而我的时区要设为西五区。

 

UTC时间&本地时间(二)

   

首先我们了解一下时间的相关概念,以及之间的区别,需要了解的时间概念有:
      本地时间(locale time)
      格林威治时间(Greenwich Mean Time GMT)
      时间协调时间 (Universal Time Coordinated UTC)
      本地时间,显而易见不用解释了
    

先看看时间的标准:
      (1)世界时
      世界时是最早的时间标准。在1884年,国际上将1s确定为全年内每日平均长度的1/8.64×104。以此标准形成的时间系统,称为世界是,即 UT1。1972年国际上开始使用国际原子时标,从那以后,经过格林威治老天文台本初子午线的时间便被称为世界时,即UT2,或称格林威治时间(GMT),是对地球转速周期性差异进行校正后的世界时。
      (2)原子时
      1967年,人们利用铯原子振荡周期极为规律的特性,研制出了高精度的原子时钟,将铯原子能级跃迁辐射9192631770周所经历的时间定为 1s。现在用的时间就是1971年10月定义的国际原子时,是通过世界上大约200多台原子钟进行对比后,再由国际度量衡局时间所进行数据处理,得出的统一的原子时,简称TAI。
      (3)世界协调时
      世界协调时是以地球自转为基础的时间标准。由于地球自转速度并不均匀,并非每天都是精确的86400原子s,因而导致了自转时间与世界时之间存在 18个月有1s的误差。为纠正这种误差,国际地球自转研究所根据地球自转的实际情况对格林威治时间进行增减闰s的调整,与国际度量衡局时间所联合向全世界发布标准时间,这就是所谓的世界协调时(UTC:Coordinatde Universal Time)。UTC的表示方式为:年(y)、月(m)、日(d)、时(h)、分(min)、秒(s),均用数字表示。

      GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,UTC时间比北京时晚八小时,以此计算即可
      通过上面的了解,我们可以认为格林威治时间就是时间协调时间(GMT=UTC),格林威治时间和UTC时间均用秒数来计算的。

      而在我们平时工作当中看到的计算机日志里面写的时间大多数是用UTC时间来计算的,那么我们该怎么将UTC时间转化为本地时间便于查看日志,那么在作程序开发时又该怎么将本地时间转化为UTC时间呢?
     下面就介绍一个简单而使用的工具,就是使用linux/unix命令date来进行本地时间和local时间的转化。
     大家都知道,在计算机中看到的utc时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。
  
以我的FC9平台为例:

1.使用date命令获得本地时间
       Mon Jan  5 21:06:48 CST 2009

2.将本地易理解的时间转化为UTC时间,使用date 命令,对该时间进行UTC格式化
       date +%s -d "Mon Jan  5 21:06:48 CST 2009"
返回的结果是:1231160808    #自1970年1月1日0:00:00起到今天晚上21:06:48共1231160808秒
1231160808这就是我们所说的UTC或者格林威治时间。

3.使用命令date将难以理解的UTC时间转化成为容易理解的本地时间

在这里,我们随便将上面这个格林威治时间修改一下来进行转化即可,比如1231130828
      date -d "1970-01-01 UTC 1231130828 sec"
返回结果是:Mon Jan  5 12:47:08 CST 2009  #是今天中午12:47:08

4.使用date命令将本地时间进行格式化
      date +%X -d "Mon Jan  5 12:47:08 CST 2009"
返回结果:12:47:08 PM

date +%x +%X -d "Mon Jan  5 12:47:08 CST 2009"
返回结果是:01/05/2009 12:47:08 PM

date +'%x %X %W' -d "Mon Jan  5 12:47:08 CST 2009"
返回结果:01/05/2009 12:47:08 PM 01   #后面的01是星期一,如果是%w,返回的是1

date +'%Y-%m-%d %H:%M:%S %W' -d "Mon Jan  5 12:47:08 CST 2009"
返回结果是:2009-01-05 12:47:08 01

对UTC时间的进行格式化:
date +‘%x %X' -d "1970-01-01 UTC 1231130828 sec"
返回结果:01/05/2009 12:47:08 PM

date命令还有很多格式化的参数,功能很强大,大家可以使用"man date"或者"info date"来作参考。

对于windows的朋友没有linux环境,没有办法进行时间转化,推举一个网址可以作时间转化:
http://kanlis.7ta.cn/time.html

 

5. 设置当前时间

date -s 12:41:30

设置的时间,到底是UTC还是CST,要根据系统的设置而定,可在/etc/sysconfig/clock中查看。

6. 设置当前日期

date -s 12/31/09

遵循的格式是:月/日/年

7. 设置系统的时区

a. #timeconfig

    键入该命令后,根据提示,选择你需要的时区;仅限于RedHat Linux 和 CentOS

b. #cp /usr/share/zoneinfo/UTC /etc/localtime

    这样,就可以用UTC时间标准,代替当前的时区设置。

    #cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    用中国上海的时区,代替当前时区设置。

    #cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

    复制相应的时区文件,替换系统默认时区

c. #tzselect

    

Qt本地时间与UTC时间转换 1,主要用到下面这个函数: void QDateTime::setTimeSpec(Qt::TimeSpec spec) Sets the time specification used in this datetime to spec. The datetime will refer to a different point in time. If spec is Qt::OffsetFromUTC then the timeSpec() will be set to Qt::UTC, i.e. a 阅读详情

相关推荐

Python utc转化时间

python 自带有多个处理时间的包, 但在时间差转换时,不能混合使用。

木木_Ray的专栏 8220

moment.js 设置语言为中文

入口文件中写下如下代码 import moment from 'moment' // 里面的字符可以根据自己的需要进行调整 moment.locale('zh-cn', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_...

john_xiaoweige的博客 1万+

vc++获得UTC时间

注意:在VC6.0中不支持TzSpecificLocalTimeToSystemTime error C2065: 'TzSpecificLocalTimeToSystemTime' : undeclared identifier   -------------------------------------------------------------------------------

wklnewlife的专栏 4781

UTC 时间的 4 种格式

UTC(Unix时间戳)是一种常见的时间戳格式,表示自协调世界时(UTC)1970年1月1日午夜以来的秒数。

༺ bestcxx的专栏 ༻ 9730

11.4.6 UTC_DATE()函数

11.4.6 UTC_DATE()函数 UTC_DATE()函数用于返回UTC日期。使用示例如下: mysql> SELECT UTC_DATE(); +------------+ | UTC_DATE() | +------------+ | 2019-12-15 | +------------+ 1 row in set (0.00 sec) 也可以返回YYYYM...

weixin_41275260的博客 289

C++笔记之获取当前本地时间以及utc时间

C++笔记之获取utc时间并转换为local时间 代码 #include <algorithm> #include <chrono> #include <iomanip> #include <iostream> #include <string> std::string trim_blank(std::string str) { str.erase(remove(str.begin(), str.end(), ' '), str.end

小勇博客 2325

UTC时间的格式

UTC时间的格式 根据 ISO 8601《数据存储和交换形式·信息交换·日期和时间的表示方法》,UTC时间,也就是国际统一时间/国际协调时,表示方法如下: YYYYMMDD T HHMMSS Z(或者时区标识)。 例如,20100607T152000Z,表示2010年6月7号15点20分0秒,Z表示是标准时间 如果表示北京时间,那么就是: 20100607T152000+08,其中 “+08” 表示东八区。 ...

LiRanYing的博客 2万+

1panel面板实战:Docker容器存储路径迁移与优化指南

本文详细介绍了在1panel面板中迁移Docker容器存储路径的完整流程与优化方法。针对系统盘空间不足的常见问题,通过停服务、搬数据、改配置三个核心步骤,指导用户安全地将Docker数据目录迁移至更大容量的独立分区,并提供了迁移后的深度管理技巧与常见避坑指南,帮助用户优化服务器存储资源。

ol789012的博客 864

Date.UTC()和Date.parse()区别

Date.UTC()和Date.parse()区别

qq_45601687的博客 810

BL0910-从零到一:多路交/直流电能计量的实战配置与校准

本文详细介绍了BL0910芯片在多路交直流电能计量中的实战应用。从硬件连接、SPI通信配置,到软件初始化、核心寄存器设置,再到偏置与增益校准,提供了完整的配置与校准指南。文章重点阐述了直流测量模式的切换要点及数据读取的工程化处理,帮助开发者快速实现高精度、多通道的电能监控方案。

rice5的博客 560

飞牛fnOS安装1Panel后Docker容器消失?三步教你恢复数据并避免踩坑

本文详细解析了飞牛fnOS安装1Panel后Docker容器消失的问题,指出这是由于daemon.json文件被覆盖导致。通过SSH连接、修复配置文件和系统重启三个步骤,用户可以轻松恢复数据。文章还提供了预防措施和最佳实践,帮助用户避免类似问题。

yellow的专栏 869

vue 时区转换_在 React & Vue 中 将矫正时间(UTC)转为本地时间的奇淫技巧!!!...

看过看多前端开发者,转个时间还需要下载专业的包,其实,例如 ThinkSNS Plus 项目,后端时间固定为 UTC 的,有一个小技巧,转换本地时间爽歪歪!!!还有那很多公共 API 基本都是 UTC 时间,包括 GitHub。Vue 版 {{ date }} export default {props: {utc: {type: String, required: true}},computed...

weixin_39793708的博客 1088

跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类)。完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整个研究,所以这一步宁愿多费时间,也不要出错。当然,这也不是一蹴而就的,需要反复的确认。 要确定各个群是什么细胞,首先需要了解细胞群的marker基因,因为不同类型的细胞突出 表达的基因也是不同的。这里使用FindAllMarkers鉴定各个细胞群的高表达基因。 DefaultAssay(scedata)

qq_42090739的博客 1万+

Unix、UTC、GPS时间戳及转换

Unix、UTC、GPS时间戳及转换

xiaojinger_123的博客 2万+

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 473

点云从入门到精通技术详解100篇-点云的特征检测(续)

对每个维度的序列分别计算 DTW 距离,最后。权重将距离限制在较小的范围内,对于时间跨度大的数据集,过度限制了点对点的路径,同的,因此不能用欧氏距离来计算两个多元时间序列之间的距离,本文选用的是动态时。到的股票数据是未知分类的,因此该数据的相似性分析缺少有效的评价方式,通常需要。时间序列,简而言之,就是与时间相关的数据的集合,应用在生活工作中的方方面。时间序列的分段线性化表示的难点在于如何找出分段点,目前,对于分段点的研究。经过分段线性化之后,每个多元时间序列的维度是相同的,但是每一维的长度是不。

getusushu的博客 334

本地时间 与 UTC 时间 相互转化

协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。 这套时间系统被应用于许多互联网和万维网的标准中,例如,网络时间协议就是协调世界时在互联网中使用的一种方式。 中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。 某些网站所提供的接口需要的时...

qq_33651286的博客 2266

Python散点图(Scatter Plot):高阶分析、散点图矩阵、三维散点图及综合应用

散点图作为一种直观且功能强大的数据可视化工具,在数据分析中具有广泛的应用。通过观察散点图中数据点的分布模式,我们可以轻松地判断变量之间是否存在相关性,以及相关性的类型和强度。同时,散点图也是识别数据集中异常值的有效工具,无论是通过直观观察还是结合统计方法,都能帮助我们发现数据中的异常情况。掌握散点图的绘制和分析技巧,将使我们在数据探索和决策制定中更加得心应手。

SiArch的博客 1443

什么是UTC时间

什么是UTC时间,UTC时间和本地时间(LocalTime)的区别  世界协调时间(Universal Time Coordinated,UTC),GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,(LocalTime)地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此计算即可. UTC相当于本

Luohsh1的专栏 1万+

卫星遥感影像处理:地物分类与变化检测

卫星遥感影像处理:地物分类与变化检测​ ,人工智能,计算机视觉,大模型,AI,卫星遥感技术通过搭载在卫星上的传感器获取地球表面的电磁波信息,为地物分类与变化检测提供了宏观、动态的观测数据。随着高分辨率遥感卫星(如高分系列、哨兵系列)的发展,遥感影像的空间分辨率、光谱分辨率和时间分辨率不断提升,为精准地物识别和动态变化监测奠定了基础。地物分类旨在将遥感影像中的像元按地表覆盖类型(如植被、水体、建筑、农田等)进行分类,而变化检测则通过对比不同时期的影像,识别地表覆盖的变化区域(如城市扩张、森林砍伐、土地退化等)

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 17万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java UTC时间与本地时间互相转换

协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。 这套时间系统被应用于许多互联网和万维网的标准中,例如,网络时间协议就是协调世界时在互联网中使用的一种方式。 在军事中,协调世界时区会使用“Z”来表示。又由于Z在无...

chishepao1742的博客 1984

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

在编程中UTC时间和本地时间(LocalTime)的区别

<br /> 什么是UTC时间,UTC时间和本地时间(LocalTime)的区别<br /> 世界协调时间(Universal Time Coordinated,UTC),GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,(LocalTime)地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此计算即可.<br />UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京

yujianhengxing的专栏 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UTC时间、GMT时间、本地时间、Unix时间戳

UTC: Universal Time Coordinated 协调世界时,又称世界标准时间。 GMT: Greenwich Mean Time 格林尼治平均时。 UTC与GMT: UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示 这两者几乎是同一概念。它们都是指的格林尼治标准时间,只不过UTC的称呼更为正式一点。两者的区别在于

停止更新,迁移至ykpeng.com 1万+

UTC时间转换为北京时间

https://blog.youkuaiyun.com/luckpl/article/details/75251302

nucyueyao的博客 3万+
上一篇: linux命令
下一篇: 显示北京时间
allwtg
博客等级 码龄19年 15粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值