中国有几个时区

中国有几个时区,第1张

中国在时区跨越上的情况,全中国从东到西横跨五个时区,但我们执行的全国统一东八区时间,就是俗称的北京时间,因为北京处在东八区!

时区是根据太阳因地球的自转导致的全球时间不一致,生活作息时间上也不一致,为有一个参考对比时间而设置了时区!以英国格林尼治天文台所在的经度为零时区,向东则是从东一区到东西十二区(国际日期变更线),向西则是从西一区到东西十二区同样以国际日期变更线为止!全球分为二十四个时区,各国可以根据需要自行参考确定国内区域所在的时区,但并非强制性!仅仅是跨越国际日期变更线需要调整!作者:专打小猪>

2、具体步骤:

1)方法一:获取当前时间的Date对象、或者将指定日期时间字符串转换为Date对象,再将Date对象的时、分、秒、毫秒设置为0,再使用getTime()获取时间戳即可。

2)方法二:拼接“2020/10/10”标准格式的日期字符串,“2020/10/10”相当于“2020/10/10 00:00:00”。

3)对于"2012/10/10"格式,不要尝试通过toLocaleDateString()方法获得,toLocaleDateString()函数返回的是基于区域语言设置日期格式,不同电脑返回的格式是有差异的,不同浏览器返回的格式也有差异。也不要用toISOString()方法获得再去提取,toISOString()是基于GMT/UTC时区的,而我们是东八区。

使用d3绘制时间轴图表,不可避免的涉及到动态变动时间刻度,根据业务需求需要调整查看不同的时间粒度数据。如果后台数据非连续数据,需要前端自己处理的话,就得自己根据时间范围创建时间刻度数据。

以上方法,亲测有效。注意一定要使用固定的时间作为基准点,否则以天为刻度时,会有时区差异。以秒和分钟作为时间粒度,没问题,因为是更小一级的单位,进行整除运算没有问题。

时间桶的概念,就是以该间隔作为时间刻度

为什么我会前端处理时间轴数据?

相信如果使用过d3进行时间轴图表定制的同学,一定使用过 d3scaleTime 或者 d3scaleUtc 进行时间轴比例尺的绘制,它的智能之处,就是可以根据你的时间范围,动态的创建出适合当前显示区域坐标系的时间刻度数据,就算你的数据是不连续的,也没有问题。但是结合brush刷取api进行使用的时候就用问题了,当初始化数据不符合具体的刷取机制,进行刷取范围的默认设置,就会出现绘制图表不连续,移动刷取框更新图表错误的问题。(具体原因未知,有大神有相应的认知可以在评论群告知一波,非常感谢)

基于以上问题,我通过自己创建时间刻度,使用 d3scaleLinear 线性比例尺,结合brush进行缩放x轴,就没有任何问题,因为我的数据处理后都是连续的,每个时间刻度已经固定,规避了上面的问题。

一直被各种时间格式困扰,所以这次来总结一下常用的时间格式到底有哪些,它们之间如何互相转换。

ISO Date "2015-03-25" 国际标准

Short Date "03/25/2015"

Long Date "Mar 25 2015" 或者 "25 Mar 2015"

Full Date "Wednesday March 25 2015"

new Date();方法可以将前四种时间格式当做参数,输出 UTC 格式的时间

UTC "2015-03-25T12:00:00" 看到日期和时间中间有一个字母 T 表示为 UTC 时间 是 现在使用的标准时间

UTC 是时间标准;ISO-8601 是表示时间的一种标准格式

ISO-8601 的具体日期的时间表示法,在 UTC 时间后加 Z,如 "2015-03-25T12:00:00Z",Z 表示是通用标准,其它的时区的时间和 UTC 不同,所以用实际时间加时差表示。

GMT Greenwich Mean Time "Mon Feb 13 08:00:00 GMT+08:00 2012" 中间有 GMT+ 字样

UTC(Universal Time Coordinated 原子钟提供)和 GMT (Greenwich Mean Time 格林尼治时间)一样

EDT (US)Eastern Daylight Time 东部夏令时

CDT (US) Central Daylight Time 中部夏令时

MDT (US)Mountain Daylight Time 山地夏令时

PDT (US) Pacific Daylight Time 太平洋夏令时

EST (US) Eastern Standard Time 东部标准时间

CST "Web Mar 25 2015 08:00:00 GMT+0800" 中部标准时间

MST (US) Mountain Standard Time 山地标准时间

PST (US) Pacific Standard Time 太平洋标准时间

设置时间时,没有指定 time zone,js 将会使用浏览器的 time zone

获取时间时,没有指定 time zone,结果将会转换成浏览器的 time zone

总之,如果时间是用 GMT 时间创建,如果浏览器 from central US 时间将会被转换成 CDT。

涉及到格式类型:UTC,GMT,unix timestamp

可以

先转成utc时间,再指定时区。

代码:

<%= moment(docs[i]createdAt)utc()zone(-8)format(‘YYYY-MM-DD HH:mm:ss’) %>

常规的时间处理直接使用 [dayjs](>

经常混淆于此,特地研究了一下,记录在此以备忘。整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,UniversalTimeCoordinated)。UTC与格林尼治平均时(GMT,GreenwichMeanTime)一样,都与英国伦敦的本地时相同。在本文中,UTC与GMT含义完全相同。北京时区是东八区,领先UTC八个小时,在电子邮件信头的Date域记为+0800。如果在电子邮件的信头中有这么一行:Date:Fri,08Nov200209: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。多数电子邮件程序,例如OutlookExpress,在显示时间时,计算机程序把时间先转换成为本地时间再显示,例如,邮件的Date域为:Date:Fri,08Nov200209:42:22+0800

以上就是关于中国有几个时区全部的内容,包括:中国有几个时区、js如何返回当天零点的时间戳、js根据时间范围生成时间刻度数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10128790.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存