【发布时间】:2014-02-27 21:43:11
【问题描述】:
我需要在 C# 中计算 JavaScript getTime 方法。
为简单起见,我选择了 UTC 中的固定日期并比较了 C#:
C#
DateTime e = new DateTime(2011, 12, 31, 0, 0, 0, DateTimeKind.Utc);
DateTime s = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
TimeSpan t = (e - s);
var x = t.TotalMilliseconds.ToString();
=> 1325289600000
以及 JavaScript 结果:
JavaScript
var d = new Date(2011, 12, 31, 0, 0, 0)
var utcDate = new Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds());
utcDate.getTime()
=> 1327960800000
关于我做错了什么的任何提示?
谢谢!
【问题讨论】:
-
为什么需要UTC时间来计算两个日期之间的秒数?不管什么时区,答案在任何时区都是一样的。
-
因为在 C# 中,我正在从存储日期为 UTC 的数据库中读取日期。
-
当我执行你的 js 代码时,我得到 - 1328004000000 - jsfiddle.net/k5Z7h/1
-
@EkoostikMartin 答案在任何时区都不相同,因为时区会随着时间而变化,尤其是在过去 40 年中。
标签: c# javascript datetime datetime-format