admin 管理员组

文章数量: 1087139


2024年3月6日发(作者:js event loop)

Javascript获取时间的方法

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=6200000;

1. ine(("1970-1-1").Ticks);

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

首先转成UTC时间

2. DateTimedt1=Time("2009-7-1508:33:19").ToUniversalTime();

然后得到从1970年1月1日到刚才那个时间的百纳秒数

longSticks=(("1970-1-1").Ticks)

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

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

以下是Javascript gettime代码

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

privatelonglLeft=6200000;

//将数字变成时间

publicstringGetTimeFromInt(longltime)

{

longEticks=(long)(ltime*10000000)+lLeft;

DateTimedt=newDateTime(Eticks).ToLocalTime();

ng();

}

//将时间变成数字

publiclongGetIntFromTime(DateTimedt)

{

DateTimedt1=ersalTime();

longSticks=(-lLeft)/10000000;

returnSticks;

}


本文标签: 时间 方法 相差 得到