JQuery日期.parse函数实现

ztyzrc3y  于 2023-01-01  发布在  jQuery
关注(0)|答案(2)|浏览(138)

我正在使用jquery的daterangepicker组件。当我将日期传递为"Jan 2011"时,jquery的Date.parse()函数给出了一些奇怪的输出。以下是不同用例的示例输出:
代码片段:

var dateStr = "Jan 2011";
var dt = Date.parse(dateStr);
alert(dt.getDate() + "/" + dt.getMonth());

输出:

dateStr = "Jan 2011"  : output = 25/0 (todays date is 25 feb 2011)
dateStr = "Feb 2011"  : output = 1/1
dateStr = "Dec 2011"  : output = 1/11

因此,对于Jan以外的任何其他月份,日期都设置为该月的第一天,而只有Jan的日期设置为当前日期。
你知道这是什么原因吗?

zkure5ic

zkure5ic1#

在您的示例中,它不是标准的Date.parse函数。
标准parse函数返回数值结果,而不是Date对象。
Javascript parse() Method
在示例parse中,函数返回Date对象。
您的代码中重新定义了函数Date.parse。请检查。
标准parse函数在您的情况下始终返回月份中的第一天

jfgube3f

jfgube3f2#

function myFunction() {
    var d = Date.parse("Jan 2011");
    document.getElementById("demo").innerHTML = d;
}
<!DOCTYPE html>
<html>
<body>

<p>Click the button to display milliseconds between a specified date and Jan 2011.</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

</body>
</html>

parse()方法解析日期字符串并返回日期字符串与2011年1月午夜之间的毫秒数1

相关问题