js时间和.net时间的Ticks定义和转换

浏览器js时间getTime后得到一串整型数字,.net中时间Ticks得到的也是一串整型数字,他们之间有一定的相似性而且意义相近,

var jsTicks = new Date().getTime();

var netTicks = DateTime.Now.Ticks;

js的 getTime:
getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。(以毫秒为单位,从1970.1.1开始计算)

.net的 Ticks:
此属性的值表示自 0001 年 1 月 1 日午夜 12:00:00以来经过的以 100 纳秒为间隔的间隔数。(以100纳秒为单位,从0001.1.1开始计算)

 

转换关系是:
1秒 = 10^3 毫秒
1毫秒 = 10^3 微秒
1微秒 = 10^3 纳秒

 

这样就能进行转换了。。。。以上分析得到转换公式:

getTime()*1000*1000/100 = Ticks-new DateTime(1970, 1, 1).Ticks;

补充今天遇到的一个与时间有关系的问题,关于lastModified的问题:

document.lastModified

问题1,

不同浏览器的时间格式不一致有UTC时间和LocalTimeZone之分:

UTC:IE,Firefox,Opera

LocalTimeZone:Chrome,Safari

问题2,

当服务器没有发送Last-Modified Header时,Opera为1970.1.1也就是时间的初始值,Firefox、IE为当前UTC时间,Chrome、Safari为LocalTime时间。

关于lastModified的问题已经有分析的文章:

http://www.cnblogs.com/rulee/archive/2012/06/01/2529893.html

浏览器没那么聪明!
原文地址:https://www.cnblogs.com/rulee/p/2528591.html