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

bra*_*ing 6 javascript datetime date luxon

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

2020-12-03T16:35:40.426+0100
Run Code Online (Sandbox Code Playgroud)

我尝试过使用

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

但我得到

2020-12-03T15:32:00.000+1
Run Code Online (Sandbox Code Playgroud)

Mat*_*int 4

Luxon 的代币表

\n
Z       narrow offset   +5\nZZ      short offset    +05:00\nZZZ     techie offset   +0500\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

然而, 请注意,按照您要求的方式组合它会产生不符合 ISO 8601 的字符串。

\n

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

\n
Basic format                Example\nYYYYMMDDThhmmss             19850412T101530\nYYYYMMDDThhmmssZ            19850412T101530Z\nYYYYMMDDThhmmss\xc2\xb1hhmm        19850412T101530+0400\nYYYYMMDDThhmmss\xc2\xb1hh          19850412T101530+04\n\nExtended format             Example\nYYYY-MM-DDThh:mm:ss         1985-04-12T10:15:30\nYYYY-MM-DDThh:mm:ssZ        1985-04-12T10:15:30Z\nYYYY-MM-DDThh:mm:ss\xc2\xb1hh:mm   1985-04-12T10:15:30+04:00\nYYYY-MM-DDThh:mm:ss\xc2\xb1hh      1985-04-12T10:15:30+04\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

除非您由于某种原因而陷入困境,否则我建议您转向基本或扩展格式。

\n

  • 是啊。JIRA 似乎决定不解决这个问题。https://jira.atlassian.com/browse/JRASERVER-59430 (2认同)