以本地无格林威治标准时间格式化 24 小时


moment("2013-12-31T19:51:57.000-0800").format("HH:mm")

格林威治标准时间产生 24 小时格式,但我希望它以当地时间"11:51"

.

使用瞬间格式方法可以做到这一点吗?

这是

不正确的。 您提供的代码不会显示 GMT 中的值。 它将首先使用您提供给它的偏移量 (-08:00) 进行调整,然后将其转换为正确的偏移量作为您自己的本地时区。 因此,如果您的时区偏移量恰好是该特定时间的 -08:00,您将看不到任何转换。

另外,您似乎误解了偏移量的应用方式。 当您在ISO8601格式的字符串(如您在此处提供的字符串)上有偏移量时,这意味着时间已经在提供的偏移量中。 19:51 是在 -8:00 偏移量处生效的本地时间。

要转换为 UTC/GMT - 您需要先反转符号,然后应用它。 所以这里的 UTC 时间是 2014-01-01 凌晨 3:51:57。

您请求的 11:51 输出对于此时间戳无效,无论您如何看待它。

最新更新