4

如何使用以下格式的 luxon 生成日期

2020-12-03T16:35:40.426+0100

我试过用

let format = "yyyy-MM-dd\'T\'HH:mm:ss.SSSZ"
let str = date.toFormat(format)

但我明白了

2020-12-03T15:32:00.000+1
4

1 回答 1

3

来自Luxon 的令牌表

Z       narrow offset   +5
ZZ      short offset    +05:00
ZZZ     techie offset   +0500

因此,您可以使用ZZZ您请求的格式发出偏移量。

但是, 请注意,以您要求的方式组合它会产生一个不符合 ISO 8601 的字符串。

ISO 8601(在第 4.3.2 节中)提供了两种有效格式,“基本”和“扩展”:

Basic format                Example
YYYYMMDDThhmmss             19850412T101530
YYYYMMDDThhmmssZ            19850412T101530Z
YYYYMMDDThhmmss±hhmm        19850412T101530+0400
YYYYMMDDThhmmss±hh          19850412T101530+04

Extended format             Example
YYYY-MM-DDThh:mm:ss         1985-04-12T10:15:30
YYYY-MM-DDThh:mm:ssZ        1985-04-12T10:15:30Z
YYYY-MM-DDThh:mm:ss±hh:mm   1985-04-12T10:15:30+04:00
YYYY-MM-DDThh:mm:ss±hh      1985-04-12T10:15:30+04

大多数人使用扩展格式,有时您会发现基本格式(尤其是在 URL 中)。但是您已将扩展格式的日期和时间与基本格式的偏移量组合在一起,这是不受支持的组合。

除非您因某种原因被锁定,否则我建议您使用基本格式或扩展格式。

于 2020-12-03T18:04:40.623 回答