0

我正在使用 Luxon 来格式化 DateTime,我需要它是以下格式,包括“T”和“Z”字符:

20150830T123600Z

我尝试使用以下格式格式化 DateTime:

let dateTimeNow = DateTime.now();
let formattedDateTime = dateTimeNow.toFormat('yyyyMMddTHHmmssZ');

但我得到了格式:

2021-05-25T12:43:37.043Z 

如何删除“-”、“:”和“。” 符号?

4

2 回答 2

1

您可以使用单引号转义字符串(文档:Escaping),因此您可以使用toFormat("yyyyMMdd'T'HHmmss'Z'").

请注意,Z末尾代表 UTC+0 偏移量,因此我建议不要使用它来表示具有不同偏移量的本地时间。

例子:

const DateTime = luxon.DateTime;
let dateTimeNow = DateTime.utc();
let formattedDateTime = dateTimeNow.toFormat("yyyyMMdd'T'HHmmss'Z'");
console.log(formattedDateTime)
<script src="https://cdn.jsdelivr.net/npm/luxon@1.26.0/build/global/luxon.js"></script>

于 2021-05-26T12:54:20.547 回答
0

您也可以使用基本的 ISO 格式,而不是编写格式:

const DateTime = luxon.DateTime;
let dateTimeNow = DateTime.now().toUTC().startOf('second');
console.log(dateTimeNow.toISO({ format: 'basic', suppressMilliseconds: true }))
<script src="https://cdn.jsdelivr.net/npm/luxon@2.2.0/build/global/luxon.js"></script>

于 2021-12-20T11:35:05.313 回答