Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Преобразование времени strtotime


Автор: tolik777 23.1.2007, 17:36
Мне нужно получить 2 переменных: начало вчерашнего дня в формате метки времни UNIX и конец.
Но я совсем уже запутался как лучше и короче это сделать, что-то у меня код получается слишком большой + куча различных преобразований, типа mktime и т.п.
Вот начало кода, а дальше как лучше и короче сделать?
Код

$yesterday_begin = date("d.m.Y 00:00:00",strtotime("-1 day"));
$yesterday_end = date("d.m.Y 23:59:59",strtotime("-1 day"));


Автор: Mal Hack 23.1.2007, 19:31
http://php.net/mktime

Автор: tolik777 24.1.2007, 08:49
ну я ей и делал.
Просто получается длинная запись вида:
Код

$yesterday_begin = mktime(0,0,0,date("m",strtotime("-1 day")),date("d",strtotime("-1 day")),date("Y",strtotime("-1 day")));
$yesterday_end = mktime(23,59,59,date("m",strtotime("-1 day")),date("d",strtotime("-1 day")),date("Y",strtotime("-1 day")));

Ну ладно походу короче никак нельзя.

Автор: Glip 24.1.2007, 11:37
в http://www.onphp.org/ 
Код

 $yesterday = Date::makeToday()->modify('-1 day');
 $yesterday->getDayStartStamp();
 $yesterday->getDayEndStamp();


smile

Автор: Mal Hack 24.1.2007, 15:34
tolik777, а почему бы не сделать:
$yesterday_begin = mktime(0,0,0,date("m"),date("d"),date("Y") - 86400;

Автор: Glip 24.1.2007, 18:40
не уверен что будет правилный результат если был перевод часов на летнее/зимнее время

Автор: Mal Hack 24.1.2007, 18:53
А для этого используется временное смещение через date("z");, код которого я тут уже давно где-то приводил.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)