0

日、月、年のみを (別々に) 選択し、期日までの日数を計算する必要があります。これが正しく機能しないのはなぜですか? substrを正しく使用していますか?

http://jsfiddle.net/infatti/XeqPT/15/

function daysUntil(year, month, day) {
  var now = new Date(),
      dateEnd = new Date(year, month - 1, day), // months are zero-based
      days = (dateEnd - now) / 1000/60/60/24;   // convert milliseconds to days

  return Math.round(days);
}

$('#paging1 ul li').each(function () {

    var monthDue = $(this).find('.due-date').text().substr(0,2);
    var dayDue = $(this).find('.due-date').text().substr(3,2);
    var yearDue = $(this).find('.due-date').text().substr(6,4);

    $(this).find('.days-due').text(daysUntil(yearDue, monthDue, dayDue));

});
4

3 に答える 3

0

LIVE DEMO

function daysUntil(untilDate) {
    var Time = new Date(untilDate).getTime();
    var currTime = new Date().getTime();
    var difference = Time-currTime; 
    return Math.ceil( difference/(1000*60*60*24) );   
}


$('.days-due').each(function() {
    var dateUntil = $('.due-date').text(); // use something more specific
    $(this).text( daysUntil( dateUntil ) );
} );
于 2013-05-06T22:23:05.143 に答える
0

これを試すことができますか:

var monthDue = $('.due-date').text().substr(0,2);
var dayDue = $('.due-date').text().substr(3,2);
var yearDue = $('.due-date').text().substr(6,4);

また、日付の操作や計算については moment.js を参照することをお勧めします。 http://momentjs.com/docs/#/displaying/difference/

于 2013-05-06T22:14:06.240 に答える