4

我有一个形式的日期时间:

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();

请帮忙。

4

6 回答 6

19

因为它是ISO日期格式,我想你可以new Date(myDate)直接调用不需要解析它我认为

var date = new Date(myDate);
于 2013-06-07T11:45:37.650 回答
4

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

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

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

于 2013-06-07T11:42:54.467 回答
0

通过修改用于描述格式的字符串,您可以让它这样做(假设时间始终为零)

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
于 2013-06-07T12:05:01.647 回答
0

您可以使用拆分

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

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

对于您的问题,它是:

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

希望这对未来的访客有所帮助。

于 2015-10-30T20:34:52.060 回答
-1

那这个呢:

jQuery.datepicker.parseDate( "yy-mm-dd", myDate.substr(0, 10) );
于 2013-06-07T11:43:21.910 回答