Как мы можем получить разницу дат дней (текущая дата и будущая дата) с помощью Java-скрипта - PullRequest
0 голосов
/ 08 февраля 2012

Мы хотели бы внести некоторые изменения в мои даты заезда и отъезда, например, если мы выберем две даты (заезд и отъезд), мы просто хотим сохранить разницу дней. Например: 16.02.2012 (регистрация) и 18.02.2012 (выезд), разница дат составляет 2 дня, мы просто хотим сохранить эту разницу в текстовом поле под названием «Ночи» (2 дня).

Мы используем JavaScript (коды DatePicker) для получения дат заезда / выезда.

Спасибо

Rod

Ответы [ 5 ]

3 голосов
/ 08 февраля 2012
(checkoutdate.getTime() - checkindate.getTime())/(1000*60*60*24)
1 голос
/ 08 февраля 2012
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;
 } 
1 голос
/ 08 февраля 2012

это будет выглядеть примерно так: вы можете использовать onSelect события jqueryUIDatepicker для вычисления разницы, посмотрите, поможет ли это мое решение на основе плагина 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

1 голос
/ 08 февраля 2012

Я использую следующий метод для вычисления разницы в минутах:

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

Так что вам просто нужно изменить минуты на дни!

1 голос
/ 08 февраля 2012
<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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...