Date 日期处理

Date 日期处理

十二月 08, 2019

前提知识

时区

以英国(格林尼治天文台旧址)即本初子午线为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间为1小时。

区时

每个时区的中央经线上的时间就是这个时区内统一采用的时间,称为区时。

UTC 协调世界时

协调世界时,又称世界统一时间、世界标准时间、国际协调时间。

GMT 格林尼治标准时

格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时的时间。
在不需要精确到秒的情况下,通常将GMT 和UTC 视作等同。但UTC 更加科学更加精确,它是以原子时为基础,在时刻上尽量接近世界时的一种时间计量系统。

软件系统中的时间

RTC 硬件时钟

实时时钟为操作系统提供了一个可靠的时间,并且在断电的情况下,RTC实时时钟也可以通过电池供电,一直运行下去,用来保存和同步计算机操作系统时间。

系统时钟

系统时钟,操作系统认知的时间,包括时区信息和UTC时间(unix时戳均使用1970年1月1日0时0分0秒到目前的UTC秒数)两部分。

本地 local 时间

rtc保存的时间可以有两种,一是utc时间,二是local时间,以东八区为例:

  • 当rtc时间为utc时间:系统utc时间 = rtc时间, 本地local时间 = rtc时间 + 8小时
  • 当rtc时间为local时间:系统utc时间 = rtc时间 - 8小时, 本地local时间 = rtc时间

两种设置都可以,没有明确规定,不过一般Windows和Linux都默认rtc保存local本地时间。

Date 对象与函数

开源库

Moment.js

写一个库

参考

时间时区概念及常用时间函数

Developer Date

  1. 1. 前提知识
    1. 1.1. 时区
    2. 1.2. 区时
    3. 1.3. UTC 协调世界时
    4. 1.4. GMT 格林尼治标准时
  2. 2. 软件系统中的时间
    1. 2.1. RTC 硬件时钟
    2. 2.2. 系统时钟
    3. 2.3. 本地 local 时间
  3. 3. Date 对象与函数
  4. 4. 开源库
    1. 4.1. Moment.js
  5. 5. 写一个库
  6. 6. 参考