ФорумПрограммированиеPHP для идиотов → узнать что идет переход на новый месяц

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

  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 11:11

    не знаю как придумать.

    я загоняю кроном в базу телепрограммы на неделю
    столкнулся с проблемой… допустим надо…

    29.03.2009
    30.03.2009
    31.03.2009
    1.04.2009
    2.04.2009
    3.04.2009
    4.04.2009

    как собственно организовать?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 11:15, спустя 3 минуты 50 секунд

    А какие исходные данные ? Что есть, что нужно получить в результате?

    По тому, что есть. я так понимаю. тебе нужно чтоб учитывалось начало месяца. А следовательно, считай от нынешней даты (дня) + 7. Получишь число, которое будет максимальным в твоей программе. Делаешь проверку на "больше/меньше" кол-ву дней в текущем месяце. Если больше, то от полученной суммы отнимаешь кол-во дней в нынешнем месяце, а в номере месяца делаешь +1, а если меньше, то просто +7 дней и все ок :)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 11:16, спустя 55 секунд

    если текущий день меньше предыдущего это новый месяц
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 11:19, спустя 3 минуты 48 секунд

    CTAPbIu_MABP, блин… точно :)
    А то я тут недельку назад боролся с днями недели, и сделал все через жопу (как указал выше). Правда у меня условия были немного другие, но все равно твой вариант правильней.
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 30 марта 2009 г. 11:24, спустя 4 минуты 54 секунды

    жжоте
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 11:45, спустя 20 минут 37 секунд

    aivee, а есть антиотжиговые предложения ?

    CTAPbIu_MABP, свое решение пересмотрел. Получаеться я вродь таки прально делал: у меня было условие, что есть у блока привязка к дню недели (например, бухенвальд по-средам) и нужно было за два дня до него начать показ блока (получается в понедельник) + отключить на следующий день после самого дня в блоке (то есть, в черверг уже отключить). А следовательно, нужно было высчитать какой сегодня день, и сравнить его с началом и концом показа. В общем, простое (твое) решение в моей случае не подошло бы, а вот к задача ТСа самое оно :)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 12:09, спустя 23 минуты 40 секунд

    strtotime поюзай
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 13:03, спустя 54 минуты 50 секунд

    phpdude, я его и юзаю, если это ты и мне тоже. Просто вычисление в дне недели все равно через data('w') (кажись параметр "w" - это порядковый номер дня в неделе) мне проще сделать, так как и дата в БД храниться в "нормальном" формате.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 13:30, спустя 26 минут 30 секунд

    я хз кому. я нечитаю сообщения длиннее 3 строк :)
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 13:45, спустя 14 минут 39 секунд

    phpdude, +1
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz 30 марта 2009 г. 14:01, спустя 16 минут 19 секунд

    Givi, нормальный формат для даты в БД – это инт :)
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 14:12, спустя 11 минут 1 секунду

    намутил что то


    $plus_days = "7";

    $month = date('m');
    $day = date('d');
    $year = date('Y');

    $newdate = date("d-m-Y", mktime (0,0,0,$month,$day+$plus_days,$year));

    print $newdate;



    как 7 так и -7 можна
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 14:17, спустя 4 минуты 43 секунды

    ubica, смотря для чего. Мне удобнее держать в человекопонятном формате, так как иногда правлю записи в БД вручную.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 14:50, спустя 33 минуты 38 секунд


    Givi, нормальный формат для даты в БД – это инт :)
    -1 ))) Будем спорить?))
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 15:07, спустя 16 минут 52 секунды

    adw0rd, будем. приводи довыды
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!