0

我有一个以这种格式“2013-05-27 14:27:37”从数据库返回的日期,我需要将此日期与当前日期进行比较。

每次我试图解析我的日期时,它都会返回无效的日期。

4

4 回答 4

1

好吧,您总是可以手动解析它。

var s = "2013-05-27 14:27:37";
var m = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/.exec(s);
var date = new Date(+m[1], +m[2] - 1, +m[3], +m[4], +m[5], +m[6]);
于 2013-10-19T19:02:25.870 回答
1

Firefox 不允许这种格式。使用/代替-,或使用 aT代替分隔日期和时间组件的空格。有关详细信息,请参阅此图表

您可以考虑使用moment.js。您可以像这样将字符串解析为一个时刻:

var m = moment("2013-05-27 14:27:37", "YYYY-MM-DD HH:mm:ss");

然后你可以使用矩的比较功能。例如:

if (m1.isBefore(m2)) { ... }

if (m1.isAfter(m2)) { ... }

您可以阅读文档以了解其他功能。

于 2013-10-19T19:29:30.390 回答
0

尝试这个:

var date = new Date('2013-05-27 14:27:37');

这应该给你一个有效的Date对象在你的 js 中使用。

于 2013-10-19T19:01:35.587 回答
0

你也可以尝试通过date.js传递你的日期,希望这会有所帮助。

于 2013-10-19T19:06:17.330 回答