我在 .net 中编写了一个返回日期的函数。我需要将该日期放入 JavaScript 中的日期对象中。
根据https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date ,我应该能够调用 new Date(x)
,其中 x 是我的日期中的毫秒数。
因此,我在 ASP.net MVC 3 代码中编写了以下内容:
ViewBag.x = new TimeSpan(someDate.Ticks).TotalMilliseconds;
然后,在 JavaScript 中,我得到以下代码:
new Date( 63461023004794 )
代表的日期应为 2012 年 1 月 1 日。
但是,JavaScript 读取的日期是 3980 年 12 月 31 日。
这里出了什么问题?
最佳答案
您的 .NET 代码为您提供自 0001 年 1 月 1 日以来的毫秒数。
JavaScript 构造函数占用自 1970 年 1 月 1 日以来的毫秒数。
最简单的事情可能是将您的 .NET 代码更改为:
ViewBag.x = (someDate - new DateTime(1970, 1, 1)).TotalMilliseconds;
关于javascript - 为什么我无法将毫秒从 C# 转换为 JavaScript 日期对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9523088/