我有一个字符串:
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');
但是,这是不对的。请你帮助我好吗。非常感谢。
答案 0 :(得分:1)
如果您的日期对象是一个时刻实例,它将起作用:
moment.tz(moment(date), 'Asia/Tokyo').format('YYYY/MM/DD HH:MM Z')
答案 1 :(得分: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');
当然,您将以更简洁的形式编写该代码。