Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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 如何使用moment.js将datetime转换为另一个时区datetime,然后再转换为utc?_Javascript_Momentjs - Fatal编程技术网

Javascript 如何使用moment.js将datetime转换为另一个时区datetime,然后再转换为utc?

Javascript 如何使用moment.js将datetime转换为另一个时区datetime,然后再转换为utc?,javascript,momentjs,Javascript,Momentjs,如何使用moment.js将datetime转换为另一个时区datetime,然后再转换为utc? 这必须在不使用时区库的情况下完成,因此像tz和setTimezone这样的函数不可用。日期时间由用户输入 因此,夏威夷时间2019年5月24日20:35预计为utc时间2019年5月25日上午6:35。 我的本地计算机是Pacific 我试过这个: moment.utc(moment('5/24/2019 20:35','M/D/YYYY h:mm').utcOffset(-10).format(

如何使用moment.js将datetime转换为另一个时区datetime,然后再转换为utc? 这必须在不使用时区库的情况下完成,因此像tz和setTimezone这样的函数不可用。日期时间由用户输入

因此,夏威夷时间2019年5月24日20:35预计为utc时间2019年5月25日上午6:35。 我的本地计算机是Pacific

我试过这个:

moment.utc(moment('5/24/2019 20:35','M/D/YYYY h:mm').utcOffset(-10).format("MM/DD/YYYY HH:mm:ss")).format('MM/DD/YYYY HH:mm:ss');

但这是不正确的。

为什么在转换为UTC之前需要转换到另一个时区

只需在纯JS中创建新日期(“2019年5月24日20:35-10”).toutString()

在最新的chrome浏览器上,它为我提供了正确的输出
“2019年5月25日周六06:35:00 GMT”


如果您需要ISO格式,请执行
新建日期(datestring).toISOString()/“2019-05-25T06:35:00.000Z”

为什么在转换为UTC之前需要转换为其他时区

只需在纯JS中创建新日期(“2019年5月24日20:35-10”).toutString()

在最新的chrome浏览器上,它为我提供了正确的输出
“2019年5月25日周六06:35:00 GMT”


如果需要ISO格式,请执行
newdate(datestring).toISOString()/“2019-05-25T06:35:00.000Z”

如果时间是“20:35”,则解析标记应该是“H:mm”(或者可能是HH:mm),而不是“H:mm”。通常,您只需添加或减去时区中所需的差值,但是,这也要求您手动应用夏令时调整。使用时区感知库是一个更好的解决方案,这里有一些。考虑HH:MM和它的变化不是问题。很好。我非常了解我提到的时区库,所以我不能使用它,原因我现在无法解释,因为它在批准、测试等方面需要很多繁文缛节。只要承认我不能用它就行了。我现在需要一个解决方案。如果时间是“20:35”,那么解析标记应该是“H:mm”(或者可能是HH:mm),而不是“H:mm”。通常您只需添加或减去时区中所需的差异,但这也需要您手动应用夏令时调整。使用时区感知库是一个更好的解决方案,这里有一些。考虑HH:MM和它的变化不是问题。很好。我非常了解我提到的时区库,所以我不能使用它,原因我现在无法解释,因为它在批准、测试等方面需要很多繁文缛节。只要承认我不能用它就行了。我现在需要一个解决方案,“只需执行…”并期望在某些主机中出现无效日期或意外结果。使用内置解析器解析非标准字符串肯定会导致难以发现的bug。请参阅“Just do…”并在某些主机中预期无效日期或意外结果。使用内置解析器解析非标准字符串肯定会导致难以发现的bug。看见