Javascript 时刻时区解释特定时区中的日期

Javascript 时刻时区解释特定时区中的日期,javascript,datetime,timezone,momentjs,moment-timezone,Javascript,Datetime,Timezone,Momentjs,Moment Timezone,如果我想构建一个时刻对象,表示某个时区的时间戳,例如欧洲/柏林时区的2019/04/13 00:00:00,我该如何正确操作 我想做的是: moment.tz.setDefault('Europe/Berlin'); const m = moment('2019/04/13 00:00:00'); 这导致m被设置为2019年4月13日星期六02:00:00 GMT+0200(中欧夏季时间)-比我需要的提前2小时。我需要的是00:00:00而不是02:00:00 这种行为背后的原因是什么?我如何

如果我想构建一个时刻对象,表示某个时区的时间戳,例如欧洲/柏林时区的2019/04/13 00:00:00,我该如何正确操作

我想做的是:

moment.tz.setDefault('Europe/Berlin');
const m = moment('2019/04/13 00:00:00');
这导致
m
被设置为
2019年4月13日星期六02:00:00 GMT+0200(中欧夏季时间)
-比我需要的提前2小时。我需要的是00:00:00而不是02:00:00


这种行为背后的原因是什么?我如何告诉“时刻时区”以这个日期和时间,并将其解释为我所说的时区?

根据您的评论,下面是一个片段,演示如何应用重复问题的答案

const berlin=moment.tz('2019/04/13 00:00:00','YYYY/MM/DD hh:MM:ss','Europe/berlin');
console.log('UTC',berlin.UTC().format());
//UTC 2019-04-12T22:00:00Z
console.log('Europe/Berlin',Berlin.tz('Europe/Berlin').format());
//欧洲/柏林2019-04-13T00:00:00+02:00

根据您的评论,下面是一个片段,演示如何应用重复问题的答案

const berlin=moment.tz('2019/04/13 00:00:00','YYYY/MM/DD hh:MM:ss','Europe/berlin');
console.log('UTC',berlin.UTC().format());
//UTC 2019-04-12T22:00:00Z
console.log('Europe/Berlin',Berlin.tz('Europe/Berlin').format());
//欧洲/柏林2019-04-13T00:00:00+02:00


可能重复的@benvc感谢您向我指出该问题,但检查这一点仍然没有澄清为什么我得到的是02:00:00而不是00:00:00,从那里应用建议(例如提供格式字符串)并没有解决问题,@benvc可能重复的问题感谢您向我指出该问题,但是检查这一点仍然没有澄清为什么我得到的是02:00:00而不是00:00:00,应用那里的建议(例如提供格式字符串)也没有解决问题