时区转换

Time zone conversions

我的开始和结束日期如下,

开始日期:“2015-02-19T00:00:00-08:00”

结束日期:“2015-02-19T17:00:00-08:00”

如您所见,日期格式为太平洋标准时间,因此日期在太平洋标准时间时区内没有问题,我使用的代码片段如下所示,

moment(StartDate).format("MMM Do");

但是当我在 IST [印度标准时间] 中查看同一页面时,它显示如下,

开始日期:"Feb 19th" 结束日期:"Feb 20th"

请帮我解决这个问题,让我知道我是否遗漏了什么。提前致谢。

你可以毫无问题地完成 moment timezone

moment(StartDate).tz('America/Denver').format("MMM Do");

或 PST-Zone 中的任何其他城市...

这些是您的原始值:

Start Date: "2015-02-19T00:00:00-08:00"
End Date:   "2015-02-19T17:00:00-08:00"

这些是 UTC 中的等效值:

Start Date: "2015-02-19T08:00:00+00:00"
End Date:   "2015-02-20T01:00:00+00:00"

这些是印度标准时间的等效值:

Start Date: "2015-02-19T13:30:00+05:30"
End Date:   "2015-02-20T06:30:00+05:30"

调整时区时间时,这是正常的预期行为。地球上的两个不同位置不一定始终遵循相同的日历日期。

有关时区的更多信息,我建议使用以下资源:

关于 moment.js,如果您只是说希望保留原始值(无论用户所在的时区如何),请使用 parseZone 函数。

moment.parseZone(StartDate).format("MMM Do");