如何让 luxon 输出时区中没有冒号的 ISO 日期格式

How to get luxon to output ISO date format without a colon in the timezone

如何使用 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

来自Luxon's table of tokens

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 中)。但是您将扩展格式的日期和时间与基本格式的偏移量组合在一起,这种组合不受支持。

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