我有一个表单的日期时间:
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();
请帮忙。
答案 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) );