Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчет разницы между датами в днях, необходимо подсчитать разницу 
V
    Опции темы
xrustic
Дата 17.1.2010, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.1.2010

Репутация: нет
Всего: нет



Помогите, пожалуйста.

Есть два поля input на странице, в которых указывается дата заезда и дата выезда. Дата в виде dd.mm.yyyy

Необходимо подсчитать разницу в датах в днях и вывести это число в третее поле input




<div>  
    <label style="width:100px; height:16px; font:Tahoma; font-size:11px; margin-top:3px">Дата заезда:</label>
    <input id="id_or_data_1" name="or_data1" type="text" style=" height:16px; width:80px" value="<? echo date('d.m.Y'); ?>" onchange="ChangeDate();" />
</div>
<div>
    <label style="width:100px; height:16px; font:Tahoma; font-size:11px; margin-top:3px">Дата выезда:</label>
    <input id="id_or_data_2" name="or_data2" type="text" style=" height:16px; width:80px" value="<? echo date('d.m.Y'); ?>" onchange="ChangeDate();" />
</div>
<div>
    <label style="width:100px; height:16px; font:Tahoma; font-size:11px; margin-top:3px">Ночей:</label>
    <input id="id_or_nights" name="or_nights" type="text" disabled="disabled" style="height:16px; width:80px" value="0"/>
</div>
PM MAIL   Вверх
comtat
Дата 17.1.2010, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 7
Всего: 71



Код

<script>
function ChangeDate(){
  _stDate = document.getElementById('id_or_data_1').value;
  _fnDate = document.getElementById('id_or_data_2').value;

  _p_st = _stDate.split('.');
  _p_fn = _fnDate.split('.');

  _stDate = new Date(_p_st[2], _p_st[1], _p_st[0]);
  _fnDate = new Date(_p_fn[2], _p_fn[1], _p_fn[0]);

  _diff = (_fnDate.getTime() - _stDate.getTime())/(24*60*60*1000);
  document.getElementById('id_or_nights').value = _diff;
  
}
ChangeDate();
</script>



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
xrustic
Дата 17.1.2010, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.1.2010

Репутация: нет
Всего: нет



Большое спасибо  smile 
PM MAIL   Вверх
xrustic
Дата 17.1.2010, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.1.2010

Репутация: нет
Всего: нет



есть небольшая проблемка в этой функции. верный подсчет толко, когда обе даты за один месяц. 
PM MAIL   Вверх
comtat
Дата 19.1.2010, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 7
Всего: 71



Код

<script>
function ChangeDate(){
  _stDate = document.getElementById('id_or_data_1').value;
  _fnDate = document.getElementById('id_or_data_2').value;
  _p_st = _stDate.split('.');
  _p_fn = _fnDate.split('.');
  _stDate = new Date(_p_st[2], _p_st[1]-1, _p_st[0]);
  _fnDate = new Date(_p_fn[2], _p_fn[1]-1, _p_fn[0]);
  _diff = (_fnDate.getTime() - _stDate.getTime())/(24*60*60*1000);
  document.getElementById('id_or_nights').value = _diff;
  
}
ChangeDate();
</script>



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
ExSoft
Дата 20.1.2010, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 29.6.2008

Репутация: нет
Всего: 1



Код

function DaySpan(ANow,AThen)
{
    return(!isNaN(ANow) && !isNaN(AThen) && (ANow instanceof Date) && (AThen instanceof Date) ? (Math.abs(ANow.getTime()-AThen.getTime())+Math.abs(Math.abs(ANow.getTimezoneOffset())-Math.abs(AThen.getTimezoneOffset()))*60*1000)/(1000*60*60*24) : NaN);
}

PM MAIL   Вверх
xrustic
Дата 20.1.2010, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.1.2010

Репутация: нет
Всего: нет



еще раз спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.