如何将JavaScript date对象转换为刻度?在同步数据之后,我想使用记号来获取C#应用程序的确切日期。
发布于 2011-11-01 20:54:41
JavaScript Date
类型的起源是Unix纪元:1970年1月1日午夜。
.NET DateTime
类型的起源是0001年1月1日午夜。
您可以将JavaScript Date
对象转换为.NET记号,如下所示:
var yourDate = new Date(); // for example
// the number of .net ticks at the unix epoch
var epochTicks = 621355968000000000;
// there are 10000 .net ticks per millisecond
var ticksPerMillisecond = 10000;
// calculate the total number of .net ticks for your date
var yourTicks = epochTicks + (yourDate.getTime() * ticksPerMillisecond);
发布于 2016-08-12 16:53:28
JavaScript中的日期也包含偏移量。如果您需要摆脱它,请使用以下命令:
return ((date.getTime() * 10000) + 621355968000000000) - (date.getTimezoneOffset() * 600000000);
我使用Skeikh的解决方案,并减去'offset‘的刻度。
发布于 2011-11-01 20:56:27
这应该是date.GetTime()
。请注意,C#和Javascript使用不同的初始日期,因此使用类似下面的内容来转换为C# DateTime。
public static DateTime GetDateTime(long jsSeconds)
{
DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return unixEpoch.AddSeconds(jsSeconds);
}
https://stackoverflow.com/questions/7966559
复制相似问题