jQuery DateTime可以解析这个日期吗?

时间:2013-06-07 11:39:44

标签: javascript jquery datepicker

我有一个表单的日期时间:

var myDate = "2013-06-07T00:00:00.000Z"

我希望

jQuery.datepicker.parseDate( "yy-mm-dd", myDate);

我不关心时间部分。

我明白了:

"Extra/unparsed characters found in date: T00:00:00.000Z"

我到目前为止最好的是:

myDate = myDate.replace('T00:00:00.000Z', '');
myDate = jQuery.datepicker.parseDate("yy-mm-dd", myDate).toUTCString();

请帮忙。

6 个答案:

答案 0 :(得分:19)

由于它是ISO日期格式,我认为您可以直接调用new Date(myDate),无需解析它我认为

var date = new Date(myDate);

答案 1 :(得分:4)

如果你不关心时间部分,为什么不简单

jQuery.datepicker.parseDate( "yy-mm-dd", myDate.split("T")[0]);

也许对于一般的DateTime处理,请看一下 moment.js

答案 2 :(得分:0)

您可以使用split

var myDate = "2013-06-07T00:00:00.000Z";
var n=myDate.split("T");
console.log(n); // Pass the date part only to date picker

答案 3 :(得分:0)

通过修改用于描述格式的 String ,你可以让它做到这一点(假设时间总是为零)

var myDate = "2013-06-07T00:00:00.000Z",
    d = jQuery.datepicker.parseDate("yy-mm-ddT00:00:00.000Z", myDate);
d; // Fri Jun 07 2013 00:00:00 GMT+0100 (GMT Daylight Time)

但是,这会忽略Z表示时区UTC而是使用本地时区(在我的情况下为BST / GMT+1)这一事实。你可以快速修复它。

d.setMinutes(d.getMinutes() - d.getTimezoneOffset()); // or use UTCMinutes
d; // Thu Jun 07 2013 01:00:00 GMT+0100 (GMT Daylight Time)
// which is now correct in terms of timezone

答案 4 :(得分:0)

如果你想要改变生活的东西,只需使用http://momentjs.com/ ......这相当于Carbon for PHP。简单,多语言和跨浏览器。

对于你的问题,它是:

moment("2013-06-07T00:00:00.000Z").format('YY-MM-DD')

希望这有助于未来的访客。

答案 5 :(得分:-1)

这个怎么样:

jQuery.datepicker.parseDate( "yy-mm-dd", myDate.substr(0, 10) );