Javascript 设置时刻js中的输入时区

Javascript 设置时刻js中的输入时区,javascript,momentjs,Javascript,Momentjs,我在我的网站上有一个输入,我的时区是utc+2h: var startDate = "01/01/2019" result = moment(startDate).utc().format(); alert(result); 这将返回2018-12-31T23:00:00+00:00,但我需要的api是 2019-01-01T00:00:00+00:00(utc时区的月初),因此我需要或多或少地将输入时区设置为utc。 有没有办法用Moment.js做到这一点?(否则我当然可以手动完成整个过程

我在我的网站上有一个输入,我的时区是utc+2h:

var startDate = "01/01/2019"
result = moment(startDate).utc().format();
alert(result);
这将返回2018-12-31T23:00:00+00:00,但我需要的api是 2019-01-01T00:00:00+00:00(utc时区的月初),因此我需要或多或少地将输入时区设置为utc。 有没有办法用Moment.js做到这一点?(否则我当然可以手动完成整个过程)

您可以使用

您可以将默认时区设置为UTC

默认情况下,将在本地时区中创建力矩对象。 本地时区-它是在浏览器或node.js服务器上设置的时区

要更改默认时区,请将moment.tz.setDefault与有效时区一起使用

moment.tz.setDefault("America/New_York");

解析日期时,您可以显式选择时区:

m = moment.tz("2013-11-18 11:55", "Europe/Berlin");
然后将其转换为任何时区,如:

m.tz("UTC");
希望这有帮助:)

您可以使用

您可以将默认时区设置为UTC

默认情况下,将在本地时区中创建力矩对象。 本地时区-它是在浏览器或node.js服务器上设置的时区

要更改默认时区,请将moment.tz.setDefault与有效时区一起使用

moment.tz.setDefault("America/New_York");

解析日期时,您可以显式选择时区:

m = moment.tz("2013-11-18 11:55", "Europe/Berlin");
然后将其转换为任何时区,如:

m.tz("UTC");

希望这有帮助:)

这似乎给了我正确的结果:

var startDate = "01/01/2019"
result = moment.utc(startDate, "DD-MM-YYYY").format();
alert(result);
//2019-01-01T00:00:00+00:00

这似乎给了我正确的结果:

var startDate = "01/01/2019"
result = moment.utc(startDate, "DD-MM-YYYY").format();
alert(result);
//2019-01-01T00:00:00+00:00

这仍然意味着输入设置为时区而不是UTC,因此如果我将其设置为伦敦,则冬季为UTC,但夏季仍为+1h。如果您谈论的是夏令时,您可以使用来检查时间是否发生了变化。这就是你想要的吗?也可以这样做,然后手动调整。但我找到了另一种直接执行的方法(参见其他答案),这仍然意味着输入设置为时区而不是UTC,因此如果我将其设置为伦敦,则冬季为UTC,但夏季为+1h。如果您谈论的是夏令时,您可以使用来检查时间是否发生了变化。这就是你想要的吗?也可以这样做,然后手动调整。但我找到了另一种直接做这件事的方法(见其他答案)