持续更新JS 时间与日期
Posted lipohong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持续更新JS 时间与日期相关的知识,希望对你有一定的参考价值。
JS 的日期时间在项目中是必定会用到的,所以必须掌握。
UTC 与 GMT 背景
十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675年旧皇家观测所(Old Royal Observatory) 正式成立,到了1884年决定以通过格林威治的子午线作为划分地球东西两半球的经度零度。观测所门口墙上有一个标志24小时的时钟,显示当下的时间,对全 球而言,这里所设定的时间是世界时间参考点,全球都以格林威治的时间作为标准来设定时间,这就是我们耳熟能详的「格林威治标准时间」 (Greenwich Mean Time,简称G.M.T.)
UTC (Coordinated Universal Time) 世界标准时间,是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子 时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若 大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。所以基本上UTC的本质强调的是比GMT更为精确的世界时间标准。
前端通过请求获取的时间一般都是时间戳格式,这个时间戳一般就是UTC时间,而我们在网页上需要显示的是GMT时间。
JS 获取日期时间
const now = new Date()
通过上述代码,即可获得调用代码一刻的日期及时间,而 now 存放的是UTC时间,若想将其转为时间戳,语句如下:
const nowTimeStamp = now.valueOf()
UTC所显示的时间会与当地时间有所差异(除了0时区),若希望得到GMT时间,可以使用 toLocaleString() 函数去转换,如下:
const nowGMT = now.toLocaleString()
这样得到的日期和时间便是当地日期与时间了。
以上是关于持续更新JS 时间与日期的主要内容,如果未能解决你的问题,请参考以下文章