繁体   English   中英

将ISO8601日期转换为纪元格式(unix时间戳)

[英]Convert ISO8601 date to epoch format (unix timestamp)

如何使用javascript将ISO 8601日期(例如20140107)转换为Unix时间戳(例如1389120125)?

如果您使用的是支持ECMAscript 5的浏览器,则Date.parse()会接受ISO-8601日期字符串并返回一个以毫秒为单位的纪元值,因此只需将其除以1000就可以了。

然而

与您所声明的相反,您的输入字符串不符合ECMAscript中定义ISO-8601子集,因为它缺少各个字段之间的破折号。 据我所知,破折号对于EMCAscript是强制性的(即使ISO 8601本身允许无破碎或基本格式)。 所以也许你必须做一些字符串解析并使用Date的构造函数之一和它的getTime()方法来获得相同的

new Date(year, month [, day, hour, minute, second, millisecond]);

如果您希望与旧版浏览器保持兼容但仍使用Date.parse,则可以考虑包含此垫片

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM