是否所有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位数。
答案 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) - 秒