Как я нахожу метку времени Unix для запуска следующего дня в php?

У меня есть метка времени Unix в течение текущего времени. Я хочу получить метку времени Unix для запуска следующего дня.

$current_timestamp = time();
$allowable_start_date = strtotime('+1 day', $current_timestamp);

Поскольку я делаю его теперь, я просто добавляю 1 целый весь день к метке времени Unix, когда вместо этого я хотел бы выяснить, сколько секунд оставляют в этот текущий день и только добавляет, что много секунд для получения метки времени Unix в течение самой первой минуты следующего дня.

Что лучший способ состоит в том, чтобы пойти об этом?

18
задан zeckdude 26 March 2010 в 00:22
поделиться

5 ответов

Самый простой способ просто « сделать » в то время:

$tomorrowMidnight = mktime(0, 0, 0, date('n'), date('j') + 1);

Цитата:

Я хотел бы выяснить, сколько секунд осталось в текущем дне, и добавить только это количество секунд, чтобы получить временную метку unix для самой первой минуты следующего дня.

Не делай этого так. По возможности избегайте относительных вычислений, особенно если «абсолютно» получить метку времени без секундной арифметики настолько тривиально.

26
ответ дан 30 November 2019 в 07:12
поделиться

Вы можете легко получить метку времени завтра в полночь с помощью:

$tomorrow_timestamp = strtotime('tomorrow');

Если вы хотите иметь возможность делать переменное количество дней, вы можете легко сделать это так:

$days = 4;
$x_num_days_timestamp = strtotime(date('m/d/Y', strtotime("+$days days"))));
8
ответ дан 30 November 2019 в 07:12
поделиться

Что-нибудь простое, например:

$nextday = $current_timestamp + 86400 - ($current_timestamp % 86400);

- вот что я бы использовал.

2
ответ дан 30 November 2019 в 07:12
поделиться

Начало следующего дня рассчитывается следующим образом:

<?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);

?>
0
ответ дан 30 November 2019 в 07:12
поделиться
$tomorrow = strtotime('+1 day', strtotime(date('Y-m-d')));
$secondsLeftToday = time() - $tomorrow;
3
ответ дан 30 November 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: