建设银网站,百度网站的优缺点,wordpress标签重定向,网站标题加后缀JS 获取时区
啥是时区#xff1f; 时区是地球上的区域使用同一个时间定义。以前#xff0c;人们通过观察太阳的外置#xff08;时角#xff09;决定时间#xff0c;这就使得不同经度的地方的时间各有不同#xff0c;为了统一使用同一个时间#xff0c;就引入了时区的概…JS 获取时区
啥是时区 时区是地球上的区域使用同一个时间定义。以前人们通过观察太阳的外置时角决定时间这就使得不同经度的地方的时间各有不同为了统一使用同一个时间就引入了时区的概念。时区通过设立一个标准时间部分地解决了这个问题。世界各国位于地球的不同位置因此不同国家特别是东西跨度大的国家日出、日落时间必定有偏差这些偏差就是时差。 表示 协调世界时UTC是最主要的世界时间标准其以院子时秒长为基础在时刻上尽量接近于格林威治标准时间。协调世界时是世界上调调节时钟和时间的主要标准。如果时间是以协调世界时UTC表示则在时间后面加上“Z”“Z”是协调世界时中0时区的标志。UTC时间也叫祖鲁时间因为在北约音标字母中用“Zulu”表示“Z”。 UTC偏移量的表示形式为±[hh]:[mm]、±[hh][mm]或者±[hh]。比如北京时间比协调世界时UTC早八小时那么应当表示为UTC8。 JavaScript获得当前客户端的时区 对象是ECMAScript国际化API的一个命名空间它提供了精确的字符串对比、数字格式化和日期格式化。我们需要使用这个API的DateTimeFormat对象。具体可以参考MDN Intl.DateTimeFormat 获得客户端当前时区
Intl.DateTimeFormat().resolvedOptions().timeZone // Asia/Shanghai可以看到输出Asia/Shanghai即我所在时区为上海。
我们知道了在哪个时区但是我们需要同时表示UTCn的形式那我们怎么知道当前时区的UTC偏移量呢
我们可以通过Date对象实例的getTimezoneOffset方法获取注意返回的结果的单位为分 new Date().getTimezoneOffset() // -480 可以看到输出的是-480这样获得到的是0时区的时间差(0时区减去当前所在时区单位是分钟)。
中国标准时间是以东八区为准比0时区的时间要早8小时。所以是-480除以60就是所在时区然后-480 / 60 -8即现在这个时区的偏移量为0 - (-8) 8即表示为UTC8 代码为
UTC (0 - new Date().getTimezoneOffset() / 60); // 输出UTC8需要注意的是不管你以何参数实例化一个Date对象js在本地存储时都会转化为本地时区js不会帮你存储实例化该日期时的时区信息。
相比较来说moment.js是一个很好的时间处理的库如果有时间操作的业务还是直接使用moment.js库方便一点当然只是显示一下时区之类的可以直接用上面简单处理即可。