Ответ 1
Вы, вероятно, хотите добавить один день, а не 24 часа. Не все дни имеют 24 часа из-за (среди прочего) летнего времени:
strtotime('+1 day', $timestamp);
Я хотел бы добавить 24 часа в метку времени. Как найти временную метку unix в течение 24 часов, чтобы я мог добавить ее в метку времени прямо сейчас?
Я также хотел бы знать, как добавить 48 часов или несколько дней в текущую временную метку.
Как я могу лучше всего это сделать?
Вы, вероятно, хотите добавить один день, а не 24 часа. Не все дни имеют 24 часа из-за (среди прочего) летнего времени:
strtotime('+1 day', $timestamp);
Временная метка Unix - это просто количество секунд с января первого 1970 года, поэтому, чтобы добавить 24 часа к отметке времени Unix, мы просто добавляем количество секунд в 24 часа. (24 * 60 * 60)
time() + 24*60*60;
Добавьте 24*3600
которое является количеством секунд в 24 часах.
Временная метка Unix находится в секундах, поэтому просто добавьте соответствующее количество секунд в метку времени:
$timeInFuture = time() + (60 * 60 * 24);
Вы можете использовать класс DateTime:
$timestamp = mktime(15, 30, 00, 3, 28, 2015);
$d = new DateTime();
$d->setTimestamp($timestamp);
Добавьте P eriod 1 D ay:
$d->add(new DateInterval('P1D'));
echo $d->format('c');
Подробнее см. DateInterval.
Как вы сказали, если вы хотите добавить 24 часа к отметке времени прямо сейчас, тогда просто вы можете сделать:
<?php echo strtotime('+1 day'); ?>
Выше код добавит 1 день или 24 часа к вашей текущей отметке времени.
вместо +1 day
вы можете взять все, что захотите, как сказано в руководстве php, strtotime может анализировать любое текстовое описание даты и времени на английском языке в метку времени Unix.
Примеры из руководства приведены ниже:
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>