JQuery Date.parse函数实现

时间:2011-02-25 08:42:06

标签: jquery jquery-ui date datepicker daterangepicker

我正在使用jquery的daterangepicker组件。当我将日期作为“2011年1月”传递时,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的任何其他月份,日期设置为月份的第1个日期,而仅对于jan,日期设置为当前日期。

任何想法可能是什么原因?

2 个答案:

答案 0 :(得分:0)

在你的例子中,这不是标准的Date.parse功能 标准parse函数返回数字结果,而非日期对象。
Javascript parse() Method

在您的示例中,parse函数返回日期对象 函数Date.parse在您的代码中重新定义。请检查一下。

标准parse功能始终会在您的案例中按月返回第一天

答案 1 :(得分:0)



<!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>
&#13;
private Map map1;
private Map map2;
private Map map3;
private Map<String, Map> mapX;

public Map getMap(String id) {
    return this.mapX.getOrDefault(id, null);
}
&#13;
&#13;
&#13;

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