在项目开发的时候,老是会遇到一些时间, 但是呢不清楚他们之间是什么关系, 今天来整理一下这些知识
ECMAScript基于ISO 8601扩展格式的简化为日期时间定义字符串交换格式。格式如下:
YYYY-MM-DDTHH:mm:ss.sssZ
其中: T: T 字面上出现在字符串中,表示时间元素的开头。
Z:
- 为Z时 表示 该时间为格林威治时
- 或“
+”或“ ”后跟时间表达式的时区偏移量HH:mm
GMT:
CST:
- 中部标准时区(北美洲),Central Standard Time,UTC-6:00
- 澳洲中部时间,Central Standard Time,UTC+9:30
- 北京时间,China Standard Time,UTC+8:00
- 古巴标准时间,Cuba Standard Time,UTC-4:00
示例:Mon Dec 17 2018 11:16:25 GMT+0800 (CST)
UTC:
协调世界时(英语:Coordinated Universal Time,法语:Temps Universel Coordonné,简称UTC)是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间。对于大多数用途来说,UTC时间被认为能与GMT时间互换,但GMT时间已不再被科学界所确定。
UTC偏移量:

计算方法: new Date().getTimezoneOffset() (单位: 分钟)
注意, 这里表示的是当前时区与UTC 的偏移量,不是时间对象.

时间换算:
本地时间 = 格林威治时间 - 时差
格林威治时间 = 本地时间 + 时差
例子: 已知本地时间,换算其他时区的时间
本地时间 + 本地时间时差 = 目标时区时间 + 目标时区的时间差
东区时间差为负数, 西区时间差为正数
var timezone = -8 //目标时区时间,东八区
var offset_GMT = new Date().getTimezoneOffset() // 本地时间和格林威治的时间差,单位为分钟
var nowDate = new Date().getTime() // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数
var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 - timezone * 60 * 60 * 1000)
console.log("东8区现在是:" + targetDate);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/28774.html