javascript - javascript/jQuery 中的日期差异

标签 javascript jquery datetime

我正在查询 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/

相关文章:

javascript - IE11 中的间歇性 AJAX 文件上传失败 - F12 工具无限期地显示 "Pending..."

python - 类型错误 : must be string, 不是 strptime 的日期

php - 在日期范围内查找日期不起作用 - PHP Date

Javascript Regex 忽略特定捕获组的大小写

javascript - Nodejs 文件的异步和同步读写——什么时候使用哪个?

javascript - 在此示例中如何停用 datatables.js 中的表排序

javascript - 如何使用单词数组和子节点数组来重新创建段落?

javascript - Jquery 数据表按钮不起作用?

javascript - JavaScript 中的多功能切换功能

php - 从 PHP 向 MySql 插入日期和时间值