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

How can we get the difference of date days (current date and future date) through Java script

本文关键字:日期 当前日期 未来 Java 何通过 脚本 我们      更新时间:2023-09-26

我们想对我的入住和退房日期进行一些更改,比如如果我们选择两个日期(入住和退房),我们只想存储天数的差异。例如:2012年2月16日(入住)和2012年2日18日(退房),日期的差异是2天,我们只希望将此差异存储在名为"夜晚"(2天)的文本字段中。

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

感谢

(checkoutdate.getTime() - checkindate.getTime())/(1000*60*60*24)
<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

我使用以下方法来计算以分钟为单位的差异:

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

所以你应该把分钟改成天!

如果是这样的话,你可以使用jqueryUIDatepicker的onSelect事件来计算差异,看看它是否有助于我的解决方案基于jqueryUI-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 的差异

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;
 }