use*_*143 2 javascript timezone angularjs momentjs
我正在尝试将“formattedLocalTime”设置为太平洋时间,我的 4 行代码如下所示。
虽然 chrome 调试器将“locTime”显示为“Tue Sep 30 2014 16:17:25”,这是我期望的正确值,但最后一行中的 formattedLocalTime 是“09/30/2014 11:17 pm”,这是 UTC 时间而不是我设置的时区(America/Los_Angeles),它应该是“09/30/2014 4:17 pm”(4:17 而不是 11:17)
非常感谢任何建议。
var timestamp = 1412144245453; // Tue Sep 30 2014 23:17:25
var utc = moment.tz(timestamp, "Etc/UTC"); // Tue Sep 30 2014 23:17:25 (displayed in chrome debugger)
var locTime = utc.clone().tz("America/Los_Angeles"); // Tue Sep 30 2014 16:17:25 (displayed in chrome debugger)
var formattedLocalTime = moment(locTime).format("MM/DD/YYYY h:mm a")
Run Code Online (Sandbox Code Playgroud)
您可以一步完成此操作:
moment.tz(1412144245453, 'America/Los_Angeles').format('MM/DD/YYYY h:mm a')
Run Code Online (Sandbox Code Playgroud)
输出:"09/30/2014 11:17 pm"
此外,您错误地评估了该时间戳的时间。在 UTC 中,此时间戳为 2014 年 10 月 1 日上午 6:17:25。对应的太平洋时间确实是2014年9月30日晚上11:17:25。
您可以使用epochconverter.com等网站或在 moment.js 中进行检查,如下所示:
moment.utc(1412144245453).format() // "2014-10-01T06:17:25+00:00"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14431 次 |
| 最近记录: |