zoukankan      html  css  js  c++  java
  • 时间格式 和 时间戳

    一、UTC时间

      时间格式如下:2018-01-22T09:12:43.083Z  或  2013-11-17T11:59:22+08:00   (此处描述不准确:+08:00后结果是北京时间

      其中z 代表是世界协调时间,即:utc

    二、GMT时间

      时间格式如下:Thu Oct 16 07:13:48 GMT+08:00 2016

    三、Unix时间戳

      在计算机中看到的UTC时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。 这个秒数就是Unix时间戳。

    四、本地时间

      UTC时间加上当前时区即为本地时间

      例如:北京当地时间为:UTC时间+08:00

    五、GMT与UTC的关联

      UTC = GMT +/- 0.9 s    因此 UTC 间中需要进行 "闰秒" 以控制两者相差,在使用过程中如果计算不要求十分精确,可以认为两者等同

    六、时间戳

      什么是时间戳?是从1970-01-01 00:00:00 到当前时间的所过去的时间的 秒数

      在C#中计算时间戳的方法   (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000

      621355968000000000 是1-1970年之间的天数,当然不包含1970年的日期了

      换算方式如下

      1969*365=718685 天

      每4年润一,但是整百年不润,整400才再润,换算出1-1970年有 1968/4-19+19/4=477个闰年

           中间经历了477个闰年,每个闰年是366天,所以,从1-1970年之间共拥有 719162天 

       那么这中间经历了  719162*24*60*60=62,135,596,800 秒

      再C# 中 Ticks 的单位是100ns,1s=1000ms=1000000um=1000000000ns

      将62,135,596,800 换算成纳秒  62135596800000000000 换算成Ticks 于是得到 621355968000000000

           现在我们理解了为什么用Ticks减去那么大一个数字的意思了吧。     因为Ticks是100ns为单位的,所以 Ticks*100得到ns  /1000得到微妙  /1000得到 毫秒

      Ticks*100/1000,000,000=Ticks/10,000,000  现在最后那个/10 000 000    也不再难以理解了吧

  • 相关阅读:
    struts2学习笔记之校验器
    struts2学习笔记之文件上传
    在ASP.net MVC里用Jquery的Ajax功能调用相关LinqtoSQL生成的类出现错误循环引用
    Linq,企业类库,EXECL生成,Execl chart的一些基本操作记录.(一)
    记录Linq所学.
    记录一个很平常的想法.
    链表反序(C#版)
    oracle 体系结构
    Oracle的sys和system用户的区别
    数据库触发器的理解
  • 原文地址:https://www.cnblogs.com/netqq/p/9381771.html
Copyright © 2011-2022 走看看