0

私は2つの日付の間の日数を計算しようとしていますが、「NaN」を取得し続けています。他の投稿を見てきましたが、うまくいきません:-S

function checkdate() {

var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var datenow = (day + "/" + month + "/" + year)  


var startdate = document.forms[0].datescopestart.value;
var sDate = new Date(Date.parse("startdate","dd/mm/yy"));

var totaldays = Date.datenow - Date.sDate;  
    alert(totaldays);
    }
4

3 に答える 3

3

これは、私がライブラリにしばらく持っていた機能で、うまく機能します。

function days_between(date1, date2) {

  // The number of milliseconds in one day
  var ONE_DAY = 1000 * 60 * 60 * 24

  // Convert both dates to milliseconds
  var date1_ms = date1.getTime()
  var date2_ms = date2.getTime()

  // Calculate the difference in milliseconds
  var difference_ms = Math.abs(date1_ms - date2_ms)

  // Convert back to days and return
  return Math.round(difference_ms/ONE_DAY)

}
于 2012-07-23T16:37:32.120 に答える
1

startdateへの呼び出しで前後の引用符を削除しますDate.parse。そして、Date.計算の変数名の前に。

于 2012-07-23T16:36:50.543 に答える
0

これを行う最も簡単な方法は次のとおりです。

var days = Math.floor(enddate.getTime()-startdate.getTime())/(24*60*60*1000);

startdateとは有効なDateenddateオブジェクトです。

于 2012-07-23T16:38:21.190 に答える