$now = new DateTime();
$fourAm = new DateTime('today 4am');
if ($now < $fourAm) {
$time = strtotime('yesterday 4am');
} else {
$time = $fourAm->getTimestamp();
}
Где $time
- это отметка времени "последних 4 часов утра", независимо от того, сколько времени в данный момент.
Редактировать:
Вы можететакже делайте это без объектов DateTime
, но мне нравится этот набор классов, поэтому я обычно нахожу любую причину для их использования.: -P
$now = time();
$fourAm = strtotime('today 4am');
if ($now < $fourAm) {
$time = strtotime('yesterday 4am');
} else {
$time = $fourAm;
}