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

Статус
В этой теме нельзя размещать новые ответы.

trooll

PHP кодер
Регистрация
22 Дек 2008
Сообщения
482
Реакции
117
Доброго времени суток.
Я конечно сразу хочу извиниться если вдруг что не так.

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

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

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

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

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

Заранее всем спасибо.
 
А как насчёт того что дней бывает 365 и 366 ?? :D
 
определить високосный год - не проблема, только при такой постановке задачи, предполагается 365 дней.

считаешь кол-во секунд в сутках, умножаешь на день, прибавляешь к timestamp, например, 00:00 1 января 2009 года, применяешь date().
 
порядковый номер дня, что это?
Как мы знаем в году у нас 365 дне так вот это цифра от 001 до 365.
пример:
001 - 1 января
025 - 25 января
035 - 4 февраля
Задача по номеру дня определить дату, то есть как в примере число и месяц

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

Год нужно указывать, потому что в разных годах один и тот же по порядку день может приходиться на разные дни недели. Ну и плюс високосный/невисокосный.
 
если я правильно понял.
номер дня года:
PHP:
$nomer_den = date('z', $data);
$data - исходная дата
дальше сам подбери - что ты хочешь
 
если я правильно понял.
номер дня года:
PHP:
$nomer_den = date('z', $data);
$data - исходная дата
дальше сам подбери - что ты хочешь
Не ты не правильно понял, внимательно читай первый пост.

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