gpt4 book ai didi

javascript - 如何从 ISO 日期字符串中获取没有破折号(-)和冒号的日期对象(:) in Javascript

转载 作者:行者123 更新时间:2023-12-01 01:24:31 25 4
gpt4 key购买 nike

我正在将 ICS 转换为 JSON,但它给了我格式为 "20190103T073640Z" 的日期,如何在 Javascript 中从此字符串获取日期对象?

我知道有很多关于“如何将 ISO 字符串转换为日期对象”的答案,但该字符串缺少破折号和冒号。

例如当我添加破折号和冒号时,它会正确给出输出

新日期("2019-01-03T07:36:40Z");

但是如何从像这样的日期字符串中获取 javascript 中的日期对象而不使用破折号和冒号 "20190103T073640Z"??

针对认为此内容重复的人进行编辑 -我有 ICalendar 文件,我正在使用在线转换器将其转换为 JSON,因此我使用的转换器以该格式给出日期,而该格式不是我可以直接传递给 new Date() 从中获取日期对象。那么有没有什么方法可以解析这样的“20190103T073640Z”字符串。

谢谢。

最佳答案

提取每个日期组件并使用普通构造函数创建一个新的 Date 对象怎么样?

function parseIcsDate(icsDate) {
if (!/^[0-9]{8}T[0-9]{6}Z$/.test(icsDate))
throw new Error("ICS Date is wrongly formatted: " + icsDate);

var year = icsDate.substr(0, 4);
var month = icsDate.substr(4, 2);
var day = icsDate.substr(6, 2);

var hour = icsDate.substr(9, 2);
var minute = icsDate.substr(11, 2);
var second = icsDate.substr(13, 2);

return new Date(Date.UTC(year, month - 1, day, hour, minute, second));
}

var date = parseIcsDate("20190103T073640Z");
console.log(date);

关于javascript - 如何从 ISO 日期字符串中获取没有破折号(-)和冒号的日期对象(:) in Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53928631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com