在时刻js中设置输入时区

时间:2018-08-12 08:25:03

标签: 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做到这一点? (否则我当然可以手动完成整个操作)

2 个答案:

答案 0 :(得分:1)

您可以使用moment timezone

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

  

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

要更改默认时区,请使用带有有效时区的moment.tz.setDefault。

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

OR

解析日期时,您可以明确选择时区:

m = moment.tz("2013-11-18 11:55", "Europe/Berlin");

然后将其转换为任何时区,例如:

m.tz("UTC");

希望这会有所帮助:)

答案 1 :(得分:1)

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

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