如何解码这个时间字符串

How to decode this time string

我从 api 中得到这个字符串 看了之后才发现是dat/time

20220112201146

然后我手工解码为

2022(Y)01(M)12(D)20(H)11(M)46(S)

我如何将所有内容分割成 Y:M:D:H:M:S? 示例:

2022:01:12:20:11:46

然后再加 80 分钟?

通过正则表达式提取各个部分(年、月、日等),将其转换为ISO 8601格式,将其解析为Date实例,然后添加80分钟

const str = "20220112201146"

const rx = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/
const iso8601 = str.replace(rx, "--T::")
console.log("iso8601:", iso8601)

const date = new Date(iso8601)
console.log("original date:", date.toLocaleString())

date.setMinutes(date.getMinutes() + 80)
console.log("future date:", date.toLocaleString())