За последние 24 часа нас посетили 35056 программистов и 1756 роботов. Сейчас ищут 772 программиста ...

Как из даты получить все даты на 3 дня назад и вперед

Тема в разделе "Прочие вопросы по PHP", создана пользователем AlexZ, 11 мар 2010.

  1. AlexZ

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

    С нами с:
    23 мар 2009
    Сообщения:
    64
    Симпатии:
    0
    Здравствуйте.
    Допустим сегодня 23 January 2010
    Как мне из этой дата получить все даты на 3 дня назад и 3 дня вперед?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1. <?php
    2. $nd = mktime(0,0,0,1,23,2010) - (60*60*24);
    3. echo date('d M Y', $nd);
    Дальше сообразишь?
     
  3. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    [vs]
    а почему не:
    mktime(0, 0, 0, $x, $y - 3, $z);
    ?
     
  4. vuzy

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

    С нами с:
    11 мар 2010
    Сообщения:
    199
    Симпатии:
    0
    Адрес:
    киев
    дам наводку.
    $need_day=explode($date," ");
    $date1=$need_day[0]-3;
    $date2=$need_day[0]-2;
    $date3=...
    ...
    $date4...
    $date5...
    $date6...

    а для обхода месяца напиши проверку даты на скажем больше 31 30 28 для определенного месяца и парочка математических уровнений и у тебя скажем из 31 января 2010 будут даты от 28 до 3 числа следующего месяца
     
  5. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    vuzy
    В наводчики не годишься, артиллеристы все время будут мазать.

    strtotime() и не парим себе мозг с переходом дат между месяцами и годами.
     
  6. vuzy

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

    С нами с:
    11 мар 2010
    Сообщения:
    199
    Симпатии:
    0
    Адрес:
    киев
    Что то понял... Передаем дату в формате число масяц год на инглише. Получаем я так понял число в секундах и уже прибавляем отнимаем нужное количество секунд и обратно формируем в даты?
     
  7. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    strtotime("+1 day")
     
  8. AlexZ

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

    С нами с:
    23 мар 2009
    Сообщения:
    64
    Симпатии:
    0
    спасибо за помощь.
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А так не наглядно =)