gpt4 book ai didi

javascript - 将自定义日期字符串转换为日期对象

转载 作者:行者123 更新时间:2023-11-29 16:16:08 24 4
gpt4 key购买 nike

如何将日期的字符串表示形式转换为真正的 javascript 日期对象?

日期格式如下

E MMM dd HH:mm:ss Z yyyy

例如

Sat Jun 30 00:00:00 CEST 2012

提前致谢

编辑:我的工作解决方案基于已接受的答案。要使其在 IE8 中工作,您必须将月份部分(例如 Jun)替换为月份数(例如 5 表示 6 月,因为 1 月为 0)

最佳答案

您的日期字符串大部分可以按原样解析,但 CEST 不是 ISO 8601 中的有效时区,因此您必须手动将其替换为 +0200

一个简单的解决方案可能是:

var str = "Sat Jun 30 00:00:00 CEST 2012";
str = str.replace(/CEST/, '+0200');
var date = new Date(str);

如果您想支持由名称定义的其他时区,则必须找到它们的可能值和相关偏移量。您可以在 map 中注册它们:

var replacements = {
"ACDT": "+1030",
"CEST": "+0200",
...
};
for (var key in replacements) str = str.replace(key, replacements[key]);
var date = new Date(str);

This might be a good list of time zone abbreviation.

关于javascript - 将自定义日期字符串转换为日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15494203/

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