如何解码这个时间字符串
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())
我从 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())