【发布时间】:2014-02-04 08:02:45
【问题描述】:
我正在尝试使用时区偏移量和 UTC 时间戳来调整时间。
我正在运行以下代码:
var date = {
utc: '2013-10-16T21:31:51',
offset: -480
}
var returnDate = moment(date.utc).utc().zone(date.offset).format('MM/DD/YYYY h:mm A');
我期待的是:10/16/2013 1:31 PM 但我最终得到的是10/17/2013 9:31 AM
【问题讨论】:
-
如果删除
.utc().zone(date.offset),日期会是什么样子?这样一来,您只需拨打.format()就可以了。 -
另外,如果查看文档here 并向下滚动一点。上面写着:“除非您指定时区偏移量,否则解析字符串将在当前时区创建一个日期。”
-
我发布了错误的数据,让我更正一下。秒
-
看起来像这样:2013 年 10 月 16 日晚上 9:31,
moment(date.utc).format('MM/DD/YYYY h:mm A'); -
正在运行的服务器的当前时区是什么?如果它不是UTC,你已经传入了一个UTC日期,然后在上面调用
.utc(),这进一步推进了时间。
标签: javascript date time momentjs