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
浏览器没那么聪明!