Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 外国时间到当地时间_Javascript_Node.js_Momentjs - Fatal编程技术网

Javascript 外国时间到当地时间

Javascript 外国时间到当地时间,javascript,node.js,momentjs,Javascript,Node.js,Momentjs,我想把外国时间改成当地时间。我在欧洲/伦敦得到一个日期和时间。目前,我正在使用矩时区让我的代码工作,但它给了我一个错误的输出 resultDate = new moment('2017-06-30T22:10:00').tz('Europe/London').format('YYYY-MM-DD HH:mm:ss'); 我认为代码认为输入的日期已经在本地时间,我需要将其转换为欧洲/伦敦,这将给出本地结果,我想要的是实际将外部时间转换为本地时间 简而言之,作为我输入的日期和时间(2017-06-

我想把外国时间改成当地时间。我在
欧洲/伦敦
得到一个日期和时间。目前,我正在使用矩时区让我的代码工作,但它给了我一个错误的输出

resultDate = new moment('2017-06-30T22:10:00').tz('Europe/London').format('YYYY-MM-DD HH:mm:ss');
我认为代码认为输入的日期已经在本地时间,我需要将其转换为
欧洲/伦敦
,这将给出本地结果,我想要的是实际将外部时间转换为本地时间

简而言之,作为我输入的日期和时间(
2017-06-30T22:00:00
),我希望提前7小时(
2017-07-1T05:00:00
),因为我目前住在亚洲/马尼拉,比伦敦提前7小时。然而,我得到的结果是2017/06/30 15:00:00+0100

我有没有办法利用我的代码中的信息
'Europe/London'
'Asia/Manila'
?您可以使用
将输入解析为
Europe/London
时间,然后使用函数将其转换为
Asia/Manila

前者使用给定的时区解析您的输入,而后者将一个矩对象转换为给定的时区

这里是一个工作示例:

//将输入解析为
var timeInLondon=矩.tz('2017-06-30T22:10:00','Europe/London');
//将输入转换为马尼拉
var timeInManila=timeInLondon.tz(“亚洲/马尼拉”);
//显示结果
console.log(timeInManila.format('YYYY-MM-DD HH:MM:ss')


尝试使用“Z”对其进行后期修复,以确保输入的日期时间字符串为UTC00格式,例如:resultDate=new moment('2017-06-30T22:10:00Z').tz('Europe/London')。格式('YYYY-MM-DD HH:MM:ss')@拉乔斯加利——我已经试着按照你提到的做了。它给了我一个不同的结果,但仍然是一个错误的输出。它给了我2017-06-30 23:00:00@Light
2017-06-30T22:10:00
伦敦时间、马尼拉时间还是当地时间?你期望的输出是什么?输入转换为伦敦时间、马尼拉时间或当地时间?@VincenzoC-2017-06-30T22:10:00是伦敦时间。我想把时间转换成马尼拉时间。然而,如上所述,代码将时间视为马尼拉时间,并从中减去7小时。如果这让人困惑,我很抱歉。我很感激你的回答,但是我仍然没有得到正确的结果。这是我得到的输出“2017-06-30 22:10:00”2017-06-30T22:10:00是伦敦的时间。我想把时间转换成马尼拉时间。然而,如上所述,代码将时间视为马尼拉时间,并从中减去7小时。如果这让人困惑,我道歉。