Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 使用momentjs更正时区_Javascript_Momentjs - Fatal编程技术网

Javascript 使用momentjs更正时区

Javascript 使用momentjs更正时区,javascript,momentjs,Javascript,Momentjs,我目前正试图根据发送“错误”时间的API调整时区 例如: serverTimestamp = '2020-04-23T15:00:00.000+0000' serverTimezone = 'America/New_York' 实际服务器时区为“美国/洛杉矶” 服务器时间戳是太平洋时间上午8点,但时区显示是纽约时间。 使用momentJs,我如何将serverTimestamp转换为UTC时间的正确时间(纽约时间上午8点)?我们可以使用moment.js根据我们的要求调整时区 使用moment

我目前正试图根据发送“错误”时间的API调整时区

例如:

serverTimestamp = '2020-04-23T15:00:00.000+0000'
serverTimezone = 'America/New_York'
实际服务器时区为“美国/洛杉矶”

服务器时间戳是太平洋时间上午8点,但时区显示是纽约时间。
使用momentJs,我如何将
serverTimestamp
转换为UTC时间的正确时间(纽约时间上午8点)?

我们可以使用
moment.js
根据我们的要求调整时区

使用
moment.tz.setDefault(“GMT”)用于更改默认日期选择器的时区


时间戳实际上是GMT/UTC(+0000)。美国东部标准时间和太平洋标准时间每小时波动一次,这取决于美国是否实行夏时制。您的纽约时间为“2020-04-23T11:00:00.000-0400”,您的洛杉矶时间为“2020-04-23T08:00:00.000-0700”

就ISO时间戳而言,这些都是相同的时间。用户的计算机(或服务器)将自动将其转换为本地时区


如果您想使用矩将实际时间戳字符串转换为PST,可以使用扩展名。

感谢Blake的解释!事实上,我使用的是矩时区,并且有类似的
矩(serverTime).tz('America/New_York').utc().format()
,这给了我
2020-04-23T15:00:00Z
现在还不是纽约时间上午8点……对。伦敦时间下午3点,纽约时间上午11点,洛杉矶时间上午8点。从我看来,这是正确的。使用
矩(serverTime).tz('America/New_York').format(矩.ISO_8601)
,您会得到什么?
    $('#startdatetimepicker').datetimepicker({
        defaultDate: new Date()
    });

    $('#enddatetimepicker').datetimepicker();