巧用Javascript的gettime方法获取时间
创始人
2024-04-20 21:51:11
0

Javascript gettime方法定义和用法

getTime()方法可返回距1970年1月1日之间的毫秒数。

C#中的ticks

此属性的值表示自0001年1月1日午夜12:00:00以来经过的以100纳秒为间隔的间隔数。

对几个词来说明一下,纳秒也叫毫微秒,相互之前的转换关系是

1秒=10^3毫秒

1毫秒=10^3微秒

1微秒=10^3纳秒

现在要用c#做出这种js的gettimer的效果,首先要转换成统一的单位,我们以转成百纳秒为单位

然后做到的就是统一的时间取得点,以1970年1月1日为起点,这时就要算出来,从0001年1月1日到1970年1月1日经过了多少纳秒

可以通过以下代码得知一个常量privatelonglLeft=621355968000000000;

  1. Console.WriteLine(DateTime.Parse("1970-1-1").Ticks); 

比如我现在要得到"2009-7-1508:33:19"的毫秒数
首先转成UTC时间

  1. DateTimedt1=Convert.ToDateTime("2009-7-1508:33:19").ToUniversalTime(); 

然后得到从1970年1月1日到刚才那个时间的百纳秒数
longSticks=(dt1.Ticks-DateTime.Parse("1970-1-1").Ticks)

最后因为要转成js的效果,所以把百纳秒转成毫秒,Sticks/10000000;最后得到的结果是1247617999

同理把这个毫秒数转成本地时间就返过来推,北京与utc是相差8个小时的,所以最后用ToLocalTime转成本地时间就可以解决时差问题了。

以下是Javascript gettime代码

  1. privatelonglLeft=621355968000000000;  
  2. //将数字变成时间  
  3. publicstringGetTimeFromInt(longltime)  
  4. {  
  5. longEticks=(long)(ltime*10000000)+lLeft;  
  6. DateTimedt=newDateTime(Eticks).ToLocalTime();  
  7. returndt.ToString();  
  8. }  
  9. //将时间变成数字  
  10. publiclongGetIntFromTime(DateTimedt)  
  11. {  
  12. DateTimedt1=dt.ToUniversalTime();  
  13. longSticks=(dt1.Ticks-lLeft)/10000000;  
  14. returnSticks;  

【编辑推荐】

  1. JavaScript类和继承:prototype属性
  2. JavaScript类和继承:this属性
  3. ExtJS Grid Tooltip的3+1种实现方式总结
  4. JavaScript异步调用框架的链式实现
  5. JavaScript异步调用框架的jQuery风格链式调用

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...