Как найти временную метку unix для начала следующего дня в php?
У меня есть временная метка unix для текущего времени. Я хочу получить временную метку unix для начала следующего дня.
$current_timestamp = time();
$allowable_start_date = strtotime('+1 day', $current_timestamp);
Как я делаю это сейчас, я просто добавляю 1 целый день в timestamp unix, когда вместо этого я хотел бы выяснить, сколько секунд осталось в этот текущий день, и добавьте только столько секунд, чтобы получите отметку unix в первую минуту следующего дня.
Каков наилучший способ сделать это?
Ответы
Ответ 1
Самый простой способ просто " сделать" это время:
$tomorrowMidnight = mktime(0, 0, 0, date('n'), date('j') + 1);
Цитата:
Я хотел бы выяснить, сколько секунд осталось в этот текущий день, и добавьте только столько секунд, чтобы получить отметку времени unix в первую минуту следующего дня.
Не делай этого так. Избегайте относительных вычислений, когда это возможно, особенно если это так тривиально "абсолютно" получить метку времени без секундной арифметики.
Ответ 2
Вы можете легко добраться завтра до полуночи с:
$tomorrow_timestamp = strtotime('tomorrow');
Если вы хотите иметь возможность делать переменное количество дней, вы можете легко сделать это так:
$days = 4;
$x_num_days_timestamp = strtotime(date('m/d/Y', strtotime("+$days days"))));
Ответ 3
$tomorrow = strtotime('+1 day', strtotime(date('Y-m-d')));
$secondsLeftToday = time() - $tomorrow;
Ответ 4
Что-то простое:
$nextday = $current_timestamp + 86400 - ($current_timestamp % 86400);
- это то, что я использовал.
Ответ 5
Начало следующего дня рассчитывается следующим образом:
<?php
$current_timestamp = time();
$allowable_start_date = strtotime('tomorrow', $current_timestamp);
echo date('r', $allowable_start_date);
?>
Если вам нужно выполнить свое особое требование:
<?php
$current_timestamp = time();
$seconds_to_add = strtotime('tomorrow', $current_timestamp) - $current_timestamp;
echo date('r', $current_timestamp + $seconds_to_add);
?>
Ответ 6
Мой вариант:
$allowable_start_date = strtotime('today +1 day');