- 什么是网站三要素
- 域名中cvcv组成是啥意思
- 什么是二级域名?它跟网站优化有什么关系?
- robots文件的写法解析
- 巧用单页面来优化长尾关键词
- 网站关键词确定后如何围绕进行优化
- C#中带有参数的构造函数
- window系统密码忘记技巧大搜罗
- Unicode编码表
- asp.net datalist 用法
邮箱:
手机:15383239821
js中的gettime方法的用法
今天在用到一个js页面的功能,需要翻译成c#的代码,其中有一个js获取时间的问题,查了一些资料,终于搞定了
js的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 日经过了多少纳秒
可以通过以下代码得知一个常量private long lLeft = 621355968000000000;
Console.WriteLine (DateTime.Parse("1970-1-1").Ticks);
比如我现在要得到"2009-7-15 08:33:19"的毫秒数
首先转成UTC时间
DateTime dt1 = Convert.ToDateTime("2009-7-15 08:33:19").ToUniversalTime ();
然后得到从 1970 年 1 月 1 日到刚才那个时间的百纳秒数
long Sticks = (dt1.Ticks - DateTime.Parse("1970-1-1").Ticks)
最后因为要转成js的效果,所以把百纳秒转成毫秒,Sticks/10000000; 最后得到的结果是1247617999
同理把这个毫秒数转成本地时间就返过来推,北京与utc是相差8个小时的,所以最后用ToLocalTime 转成本地时间就可以解决时差问题了。
以下是代码
- private long lLeft = 621355968000000000;
- //将数字变成时间
- public string GetTimeFromInt(long ltime)
- {
- long Eticks = (long)(ltime × 10000000) + lLeft;
- DateTime dt = new DateTime(Eticks).ToLocalTime();
- return dt.ToString();
- }
- //将时间变成数字
- public long GetIntFromTime(DateTime dt)
- {
- DateTime dt1 = dt.ToUniversalTime();
- long Sticks = (dt1.Ticks - lLeft) / 10000000;
- return Sticks;
- }
-
2018-11-08淘宝运营
-
2017-08-27品牌官网设计
-
2024-09-03小程序的TLS版本必须大于等于1.2的问题的解决方法
-
2012-12-25HTTP Error 503. The service is unavailable
