mo5*_*470 8 javascript c# datetime datetime-format
我需要在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
Run Code Online (Sandbox Code Playgroud)
和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
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么的暗示?
谢谢!
如果您希望输入采用 UTC,则应该这样做:
var ts = Date.UTC(2011,11,31,0,0,0);
Run Code Online (Sandbox Code Playgroud)
正如 SLaks 指出的那样,月份是 0-11,但即便如此 - 如果您希望以 UTC 形式响应,则必须将日期初始化为 UTC。在您的代码中,您初始化了本地日期,然后将其转换为 UTC。根据运行代码的计算机的时区,结果会有所不同。使用Date.UTC,您将返回一个时间戳 - 而不是一个Date对象,并且无论它在哪里运行,它都将是相同的结果。
从 Chrome 的调试控制台:

这与从 .NET 代码返回的值相同,看起来很好,只是我会返回 a long,而不是string.
| 归档时间: |
|
| 查看次数: |
2516 次 |
| 最近记录: |