我正在查询 facebook graph api。它以以下格式返回日期:2012-01-23T23:52:29+0000
。
我需要在 javascript 中找到这种类型的日期差异。这不是 javascript 中的有效日期(通过 Date.parse()
或 new Date()
)
我正在考虑将 'T'
替换为 ' '
(空格),将 '-'
替换为 '/'
和 '+0000'
与 ''
(空字符串)。这是唯一的方法吗?或者我在这里遗漏了什么?
另外,如果这是唯一的方法,有人可以给我一个正则表达式来一次性替换所有内容吗?
执行速度是我主要关心的问题。
最佳答案
我同意替换 -
与 /
,因为这就是 ISO 标准所规定的(Facebook 喜欢把事情搞砸,比如 <meta>
标签带有 property
属性,而不是像它们应该的那样 name
)。
保留时区部分,因为 JS 理解这一点并会相应地处理它。
总的来说,您想要new Date(input.replace(/-/g,'/'));
.
根据评论,更好(更完整)的解决方案是:
new Date(input.replace(/-/g,'/').replace("T"," ").replace(/\+[0-9]+$/,''));
关于javascript - javascript/jQuery 中的日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8998283/