c#中的新日期()。getTime()

时间:2013-06-28 09:44:21

标签: c#

是否所有c#函数都可以替换这个javascript函数?

的js

new Date().getTime();

我创建了一个函数,但值的数量不同。

C#

public static double ConvertToUnixTimestamp(DateTime date)
    {
        DateTime OLDtime= new DateTime(1970, 1, 1, 0, 0, 0, 0);
        TimeSpan diff = date.ToUniversalTime() - OLDtime;
        return Math.Floor(diff.TotalSeconds);
    }

我的Js函数返回1372412348889,但我的c#只返回1372412347.0,c#返回值从后面少了3位数。

2 个答案:

答案 0 :(得分:8)

getTime()返回自Unix纪元以来毫秒的数量。您的C#代码从unix时代开始获取的数量。

您想使用TotalMilliseconds代替TotalSeconds

此外,虽然它实际上不会改变代码的行为,但是对于OLDtime变量(我将其称为UnixEpoch的静态只读变量)明确地更明确使用DateTimeKind.Utc

(顺便说一句,您可能还想使用我的Noda Time框架,这使得所有这些都更加清洁。)

答案 1 :(得分:1)

JS timestamp(new Date()。getTime())返回 miliseconds ,C#(DateTime.Now) - 秒