打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
巧用Javascript的gettime方法获取时间
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;

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

  比如我现在要得到"2009-7-1508:33:19"的毫秒数

  首先转成UTC时间

  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代码

  privatelonglLeft=621355968000000000; //将数字变成时间 publicstringGetTimeFromInt(longltime) { longEticks=(long)(ltime*10000000)+lLeft; DateTimedt=newDateTime(Eticks).ToLocalTime(); returndt.ToString(); } //将时间变成数字 publiclongGetIntFromTime(DateTimedt) { DateTimedt1=dt.ToUniversalTime(); longSticks=(dt1.Ticks-lLeft)/10000000; returnSticks; }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Delphi中实现JavaScript getTime函数
关于时间的那些事--PHP、JavaScript、MySQL操作时间
JavaScript 中的时间处理详解
【原创】C# 计时周期数(Ticks)在不同数据库上的实现
Js 获取时间戳的方法
C#日期格式化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服