За последние 24 часа нас посетил 18831 программист и 1644 робота. Сейчас ищут 872 программиста ...

сравнение дат - число оставшихся дней

Тема в разделе "PHP для новичков", создана пользователем Vantedur, 18 июл 2010.

  1. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    В общем тема такая,
    есть текущая дата, допустим 2010-04-09
    и
    есть дата начала события 2010-06-26

    как получить число оставшихся дней до наступления события?
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  3. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    странно

    вот это работает
    PHP:
    1. $current_date = mktime (0,0,0,11,20,2004); //дата сегодня
    2. $old_date = mktime (0,0,0,11,25,2005); //2004.11.25
    3. $difference = ($current_date - $old_date); //разница в секундах
    4. $difference_in_days = ($difference / 86400); //разница в днях
    5. echo $difference_in_days;
    а вот это не хочет
    PHP:
    1. echo (date_diff('2010-3-9', '2011-4-10')." days <br \>");
     
  4. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    нет понятия «не хочет»
    зы.
     
  5. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    я вообще переводил в секунды, отнимал, преобразовывал в дату.
     
  6. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    PHP:
    1. $datetime1 = date_create('2009-10-11');
    2. $datetime2 = date_create('2009-10-11');
    3. $interval = date_diff($datetime1, $datetime2);
    4. echo $interval->format('%d');
    заработало после апгрейда пхп но вот вопрос

    как сделать так чтобы при наступлении даты а также после её наступления отображалось 0
     
  7. phpdude

    phpdude Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    697
    Симпатии:
    0
    PHP:
    1. if ($date1 > $date2) { here code ...} else $diff = 0
    сложно? :)

    я чето заметил что начинаю злиться на простые вопросы)
     
  8. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    phpdude
    на простые вопросы, ты достаешь курицу и начинаешь ее есть прям на ноутбуке :D
    реакция организма на стресс, это видимо, что бы быть добрее )
     
  9. phpdude

    phpdude Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    697
    Симпатии:
    0
    Padaboo
    ем сосиски с кетчпом и чаем ^^
     
  10. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    гы косяк
    PHP:
    1.  $datetime1 = date_create('2009-10-11');
    2.  $datetime2 = date_create('2009-10-15');
    3.  $interval = date_diff($datetime1, $datetime2);
    4.  echo $interval->format('%d');
    покажет что 4 дня
    и
    PHP:
    1.  $datetime1 = date_create('2009-10-11');
    2.  $datetime2 = date_create('2009-05-15');
    3.  $interval = date_diff($datetime1, $datetime2);
    4.  echo $interval->format('%d');
    покажет что 4 дня вместо 149 дней