Удобная работа с датами в php

Mar 13, 2012 12:06

Источник: Удобная работа с датами в PHP . Перепост.

Периодически возникают задачи типа вернуть дату «первого числа прошлого месяца», или «прошлого понедельника».
Это можно решить как-то так:

$dt = self::getCurrentMonthStartDt();

$dt->setTime( 0, 0, 0 );

$dt->setDate( $dt->format( 'Y' ), $dt->format( 'm' ) - 1, 1 );

return $dt;

...

$dt = new DateTime();

$dt->modify( '-' . ( $dt->format( 'N' ) - 8 ) . ' days' );

$dt->setTime( 0, 0, 0 );

return $dt;

А можно гораздо проще:

$dt = new DateTime( 'first day of last month' );

$dt->setTime( 0, 0, 0 );

return $dt;

...

$dt = new DateTime( 'mon this week' );
$dt->setTime( 0, 0, 0 );

return $dt;

It’s a kinda magic, но работает.
***
От себя: да, работает. :)
Мануал тут: http://www.php.net/manual/ru/datetime.formats.relative.php

php, чужие решения, мануалы

Previous post Next post
Up