0%

基础 | 时间相关

如果你写过程序,就知道时间的转化是编程中很让人头疼的东西,这一篇博客进行总结。


常见时间分类


  • UTC 时间标准时间

    • 2015-03-25T12:00:00 看到日期和时间中间有一个字母 T 表示为 UTC 时间 是现在使用的标准时间,换成北京时间,通常需要加 8 小时。
    • UTC + 时区差 = 本地时间
    • 时区差0时区向东为正,0时区向西为负
  • ISO-8601

    • 具体日期的时间表示法,在 UTC 时间后加 Z,如 2015-03-25T12:00:00ZZ 表示是通用标准,其它的时区的时间和 UTC 不同,所以用实际时间加时差表示。
  • GMT格林尼治时间 「好想和 UTC 一样」

    • 世界时 UT 即格林尼治时间,格林尼治所在地的标准时间。
  • GST 北京时间

  • 时间戳

    • 指的就是 Unix时间戳 (Unix timestamp)。它也被称为 Unix时间 (Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
    • 时间戳不会跟着时区改变而改变
    • 10位Unix时间戳 精确到13位Unix时间戳精确到毫秒

UTCISO-8601 的区别

ISO-8601 是一个时间标准,如果里面有 T 说明,里面的时间符合 UTC 的时间标准,如果里面有 Z 说明其符合通用标准,所谓的标准即是定义,如

  • ISO 8601 使用 24小时制
  • 日期时间表示只能有数字或少数特殊字符组成(如“ - ”,“:”,“T”,“W”和“Z”),不允许出现地方写法,如“1月”或“星期四”等。
  • 等等

时间戳位数

  • 1秒=1000毫秒

  • 1秒=1000000微秒(1毫秒=1000微秒)

  • 1秒=1000000000纳秒(1微秒=1000纳秒) ( 1毫秒=1000000纳秒)

  • 秒 :10位

  • 毫秒:13位

  • 微妙:16位

  • 纳秒:19位

请我喝杯咖啡吧~