日付の差分日数(例:開始日「2014/04/01」、終了日「2014/04/30」なら所有日数「30」)を求めるJavaScriptのサンプルです。
HTMLサンプル
1 2 3 |
開始日付:<input id="txt1DateDifferenceSample" type="text" name="txt1DateDifferenceSample" value="2014/04/01"/> 終了日付:<input id="txt2DateDifferenceSample" type="text" name="txt2DateDifferenceSample" value="2014/04/30"/> 開始~終了までの所要日数:<input id="txt3DateDifferenceSample" type="text" name="txt3DateDifferenceSample" /> |
JavaScriptサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
jQuery(function($) { jQuery(document).on('blur', '#txt1DateDifferenceSample, #txt2DateDifferenceSample', function(){ var date1 = document.getElementById("txt1DateDifferenceSample").value; var date2 = document.getElementById("txt2DateDifferenceSample").value; var diff = getDiff(date1, date2); jQuery("#txt3DateDifferenceSample").val(diff); }); }); /* *日付の差分日数を返却します。 */ function getDiff(date1Str, date2Str) { var date1 = new Date(date1Str); var date2 = new Date(date2Str); // getTimeメソッドで経過ミリ秒を取得し、2つの日付の差を求める var msDiff = date2.getTime() - date1.getTime(); // 求めた差分(ミリ秒)を日付へ変換します(経過ミリ秒÷(1000ミリ秒×60秒×60分×24時間)。端数切り捨て) var daysDiff = Math.floor(msDiff / (1000 * 60 * 60 *24)); // 差分へ1日分加算して返却します return ++daysDiff; } |
実行サンプル
開始日付:
終了日付:
開始~終了までの所要日数: