Java脚本返回日期的无效日期,时间设置为“11:59:59 PM”

时间:2015-09-23 06:35:40

标签: javascript datetime datetimepicker

这让我疯了一个小时。

以下是我的Chrome控制台的快照。

您可以看到默认的js Date()函数与提供给它的不同dateTime字符串的行为方式如此不一致。

enter image description here

任何人都知道吗?我应该如何处理它?<​​/ p>

由于

2 个答案:

答案 0 :(得分:0)

您的格式错误。没有第30个月。 试试这个,

新日期(“09/30/2015 11:59:59 PM”)

答案 1 :(得分:0)

有些浏览器使用&#34; dd / mm / yyyy&#34;格式,其他&#34; mm / dd / yyyy&#34;等等,无论哪种方式,如果您没有得到无效日期,您需要知道日期类/函数/方法将使用哪种格式,以便您可以按该顺序传递日期字符串。

显然,您在使用时测试的浏览器&#34; mm / dd / yyyy&#34;因此,您的第一个日期无效,因为没有数字的月份#34; 30&#34;如在&#34; 30/09 / 2015&#34;。

当然,如果浏览器可以猜测它会很聪明,在这种情况下它会很容易但是这个,&#34; 10/12 / 2015&#34;,它不会,因为它们都是&#34 ;毫米/日/年&#34;和&#34; dd / mm / yyyy&#34;将有相应的实际日期,&#34; 12月12日&#34;和&#34; 10月&#34; 12,我们不能让浏览器决定哪一个是我们的意思,因为两者都会传递为有效。

请仔细检查此问题,以及如何解决问题的几个方面 - Why does Date.parse give incorrect results?