2

我有字符串:

date =  "2019/1/16 00:00 +0900"

我在纽约(时区 -5),我想创建一个这样的 Date 对象:

Wed Jan 16 2019 00:00:00 GMT+0900

我无法使用 javascript 进行转换。它将返回时区 -5。我使用 moment.js:

moment.tz(date, 'Asia/Tokyo').format('YYYY/MM/DD HH:MM');

但是,这是不对的。请你帮助我好吗。非常感谢。

4

2 回答 2

1

如果您的日期对象是一个时刻实例,它将起作用:

moment.tz(moment(date), 'Asia/Tokyo').format('YYYY/MM/DD HH:MM Z')
于 2019-01-16T07:43:18.407 回答
0

时区很难正确。我认为一个易于遵循且有点惯用的解决方案是:

const date = "2019/1/16 00:00 +0900";

// parse in any timezone
const dateMoment = moment(date); 

// deliberately set the timezone in which the moment is interpreted in
const timezonedMoment = dateMoment.tz('Asia/Tokyo'); 

// format the moment
const formattedDate = dateMoment.format('YYYY/MM/DD HH:MM z');

当然,你可以用更简洁的形式来写。

于 2019-01-16T07:53:24.563 回答