我们如何通过Java脚本获得日期天数(当前日期和未来日期)的差异

时间:2012-02-08 05:45:13

标签: javascript jquery datepicker

我们希望对入住和退房日期进行一些更改,比如我们选择两个日期(签入和退房),我们只想存储天数的差异。例如: - 2012年2月16日(登记入住)和18/02/2012(退房),日期的差异是2天,我们只想将这种差异存储在名为“Nights”(2天)的文本字段中。< / p>

我们使用JavaScript(datepicker代码)来获取入住/退房日期。

谢谢

5 个答案:

答案 0 :(得分:3)

(checkoutdate.getTime() - checkindate.getTime())/(1000*60*60*24)

答案 1 :(得分:1)

<script language="JavaScript" type="text/javascript">
<!--

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)

}

//-->
</script>

参考http://www.mcfedries.com/javascript/daysbetween.asp

答案 2 :(得分:1)

我使用以下方法计算分钟差异:

getMinutes: function (minDate, maxDate) {
    var oneMinute = 1000 * 60;
    return (maxDate - minDate) / oneMinute;
},

所以你应该把分钟改为几天!

答案 3 :(得分:1)

它会像这样,你可以使用jqueryUIDatepicker的onSelect事件来计算差异,看看它是否有助于我的解决方案基于jquery UI DatePicker插件。

 var CheckinDate=new Date();
 var CheckoutDate=new Date(); 
 var diff=new Date();
 $('#checkin').datepicker({
       onSelect: function(dateText, inst) {
       CheckinDate=datetext;

    }
    });

$('#checkout').datepicker({
   onSelect: function(dateText, inst) {
   CheckoutDate=datetext;
   diff=(CheckoutDate.getTime() - CheckinDate.getTime())/(1000*60*60*24);


}
});

现在你在变量diff

中有所不同

答案 4 :(得分:1)

var checkindate = Date.parseString($('hotelFromdate').value,dateFormat);
var checkoutdate = Date.parseString($('hotelReturnDate').value,dateFormat);
if(checkindate && checkoutdate && $('noOfNights'))
{
var noOfNights = parseInt((checkoutdate.getTime() -checkindate.getTime())/(24*60*60*1000));
 $('noOfNights').value = noOfNights;
 }