|
|
|
| Здравствуйте. Уважаемые, подскажите, пожалуйста, как лучше всего получить интервал между датами?
Вот например у меня есть сегодня 22.12.2010 и 04.04.2010
Как мне получить что то типа: "8 месяцев 18 дней". Или при условии других дат: 1 месяц 21 день. И тд.
Я пока себе это представляю лишь делением и кучей проверок if. Так как, допустим при сроке более 1 года, выводить дни не надо, только год и месяц.
Дата хранится в формате штампа "123456890".
Я подобное, где то на форуме видел. | |
|
|
|
|
|
|
|
для: Diablo_
(22.12.2010 в 02:40)
| |
$stamp = strtotime('2010.12.22') - strtotime('2010.04.04');
echo date('Y лет m месяцев d дней ',$stamp);
|
чет типо того, не уверен что будет работать, но суть такая что бы найти разницу из штампа большей даты вычитаем штамп меньшей и получаем интервал, в итоге парсим его на составляющие и получаем результат | |
|
|
|
|
|
|
|
для: ONYX
(22.12.2010 в 09:49)
| | > чет типо того, не уверен что будет работать
И не будет | |
|
|
|
|
|
|
|
для: ONYX
(22.12.2010 в 09:49)
| | Может уж тогда mktime? | |
|
|
|
|
|
|
|
для: mihdan
(22.12.2010 в 11:48)
| | А она-то каким боком.
Насколько я знаю, функции, переводящей отрезок времени в набор чисел годов, месяцев, дней и т.д. в php нет. Так что писать придется самому. | |
|
|
|
|
|
|
|
для: Trianon
(22.12.2010 в 13:35)
| | На самом деле есть: классы DateInterval и DatePeriod. Однако >= 5.3.0 | |
|
|
|