0

我正在尝试从时刻对象中添加/减去天数。但是,我遇到的问题是时间偏移与服务器的本地时间不同。

在分贝我的时间

2019-08-14T21:38:50-04:00

但是,我在本地得到+0000

moment().format('YYYY-MM-DD hh:mm ZZ')
2019-08-15 07:19 +0000

所以现在如果我尝试转换存储在数据库中的时间

moment("2019-08-14T21:38:50-04:00").format('YYYY-MM-DD hh:mm ZZ')
2019-08-15 01:38 +0000

如果我使用 parseZone() 我得到

moment.parseZone("2019-08-14T21:38:50-04:00").format('YYYY-MM-DD hh:mm ZZ')
2019-08-14 09:38 -0400

我还尝试手动删除 4 小时的偏移量(以平衡它?)

moment("2019-08-14T21:38:50-04:00").utcOffset(-240).format('YYYY-MM-DD hh:mm ZZ')
2019-08-14 09:38 -0400

但是输出(格式化后)的值总是与输入不同。

将 moment obj 格式化回字符串后,如何获得 2019-08-14T21:38:50-04:00 作为输出?

4

1 回答 1

0
moment.parseZone("2019-08-14T21:38:50-04:00").format()

或者

moment.parseZone("2019-08-14T21:38:50-04:00").format(moment.ISO_8601())

或者

moment.parseZone("2019-08-14T21:38:50-04:00").format("YYYY-MM-DD[T]HH:mm:ssZ")

以上所有将产生"2019-08-14T21:38:50-04:00",与输入字符串相同。

第三次尝试的主要问题是您使用的是hh(12 小时制)而不是HH(24 小时制)。

于 2019-08-15T22:57:01.563 回答