0

jquery の daterangepicker コンポーネントを使用しています。jquery の Date.parse() 関数は、日付を「2011 年 1 月」として渡すと、奇妙な出力を返します。さまざまなユース ケースの出力例を次に示します。

コードスニペット:

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

そのため、1 月以外の月の日付はその月の最初の日付に設定されますが、1 月の場合のみ日付は現在の日付に設定されます。

この理由は何ですか?

4

2 に答える 2

0

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 月の午前 0 時までのミリ秒数を返します。

于 2017-07-28T10:18:41.083 に答える