JavaScriptの次の問題に対する最も簡潔な解決策を探しています。
JavaScriptの2つの日付の間に発生する日数を確認したいと思います。たとえば、Daysでの日付の違いは探していません。
日付1:2012年6月26日23:05
日付2:2012年6月27日午前0時15分
次のコード行を使用していました。
var days = Math.ceil((date2 - date1) / 86400000);
結果は1です。2にします(6月26日と6月27日を数えます)
JavaScriptの次の問題に対する最も簡潔な解決策を探しています。
JavaScriptの2つの日付の間に発生する日数を確認したいと思います。たとえば、Daysでの日付の違いは探していません。
日付1:2012年6月26日23:05
日付2:2012年6月27日午前0時15分
次のコード行を使用していました。
var days = Math.ceil((date2 - date1) / 86400000);
結果は1です。2にします(6月26日と6月27日を数えます)
日付の時間部分を削除してから、日付減算を行います。この jsfiddleまたは以下のスニペットを参照してください。
var d1 = new Date('June 26th 2012 11:05 PM'.replace('th',''));
var d2 = new Date('June 27th 2012 12:15 AM'.replace('th',''));
// remove the time portion, set the dates to midnight
d1.setHours(0,0,0,0);
d2.setHours(0,0,0,0);
var diff = Math.ceil((d2 - d1) / 86400000) + 1;
console.log(diff);
</p>
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
時間、分、秒、およびミリ秒をすべてゼロに設定します。これで、同じ時刻の 2 つの日付が作成されました。これで、これまでと同じようにその操作を実行して、正しい答えを得ることができます。