Как добавить 24 часа к метке времени Unix в php? - PullRequest
105 голосов
/ 25 марта 2010

Я бы хотел добавить 24 часа к отметке времени. Как найти номер метки времени Unix за 24 часа, чтобы я мог добавить его к метке времени прямо сейчас?

Я также хотел бы знать, как добавить 48 часов или несколько дней к текущей метке времени.

Как мне лучше всего это сделать?

Ответы [ 6 ]

279 голосов
/ 25 марта 2010

Вы, вероятно, хотите добавить один день, а не 24 часа. Не все дни имеют 24 часа из-за (среди прочего) летнего времени:

strtotime('+1 day', $timestamp);
73 голосов
/ 25 марта 2010

Метка времени Unix - это просто количество секунд с января первого 1970 года, поэтому чтобы добавить 24 часа к метке времени Unix, мы просто добавляем количество секунд в 24 часах. (24 * 60 * 60)

time() + 24*60*60;
17 голосов
/ 25 марта 2010

Добавить 24*3600, то есть количество секунд в 24 часах

15 голосов
/ 25 марта 2010

метка времени Unix указана в секундах, поэтому просто добавьте соответствующее количество секунд к метке времени:

$timeInFuture = time() + (60 * 60 * 24);
14 голосов
/ 25 марта 2010

Вы также можете использовать класс 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 .

0 голосов
/ 10 декабря 2018

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

 <?php echo strtotime('+1 day'); ?>

Выше кода добавит 1 день или 24 часа к вашей текущей отметке времени.

вместо +1 day вы можете взять все, что захотите , поскольку php manual говорит 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";
?>
...