Определени дня (даты) года по порятковому номеру дня года

Тема в разделе "PHP Pro", создана пользователем trooll, 4 фев 2010.

Статус темы:
Закрыта.
  1. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Доброго времени суток.
    Я конечно сразу хочу извиниться если вдруг что не так.

    Как бы появилась задача: по порядковому номеру в году определить день года.

    порядковый номер дня, что это?
    Как мы знаем в году у нас 365 дне так вот это цифра от 001 до 365.

    пример:
    001 - 1 января
    025 - 25 января
    035 - 4 февраля

    Задача по номеру дня определить дату, то есть как в примере число и месяц

    так вот, по рыскал в интернете по этому поводу чего то не чего толкового не нашел (ну либо руки кривые :) )

    Заранее всем спасибо.
     
  2. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    А как насчёт того что дней бывает 365 и 366 ?? :D
     
  3. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    определить високосный год - не проблема, только при такой постановке задачи, предполагается 365 дней.

    считаешь кол-во секунд в сутках, умножаешь на день, прибавляешь к timestamp, например, 00:00 1 января 2009 года, применяешь date().
     
  4. EnGeLs

    EnGeLs Постоялец

    Регистр.:
    30 апр 2008
    Сообщения:
    87
    Симпатии:
    21
    PHP:
    <?php
    $day
    ="035";
    $year="2010";
    print 
    date("j F",mktime(0,0,0,1,intval($day),intval($year)));
    ?>
    >>>
     
  5. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    PHP:
    $day 35;     // какой по порядку день
    $year 2010;  // в каком году

    $time strtotime("$year-01-01")+($day-1)*24*3600;

    echo 
    date('D',$time);  // выведет Mon .. Sun
    echo date('d F');    // выведет 4 February
    Год нужно указывать, потому что в разных годах один и тот же по порядку день может приходиться на разные дни недели. Ну и плюс високосный/невисокосный.
     
  6. lungsmoney

    lungsmoney Постоялец

    Регистр.:
    25 апр 2008
    Сообщения:
    81
    Симпатии:
    23
    если я правильно понял.
    номер дня года:
    PHP:
    $nomer_den date('z'$data);
    $data - исходная дата
    дальше сам подбери - что ты хочешь
     
  7. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Не ты не правильно понял, внимательно читай первый пост.

    p.s.: Решение данной задачи реализовал, если кому то требуется решение данной задачи, то пишите в ЛС или ICQ
     
Статус темы:
Закрыта.