2010-03-25 123 views
88

我想現在爲時間戳添加24小時。如何找到24小時的unix時間戳編號,以便我現在可以將它添加到時間戳?如何在php中添加24小時到unix時間戳?

我也想知道如何添加48小時或多天到當前時間戳。

我該如何最好地做這件事?

+0

「如何添加48小時或多天」 - 是夏令時的問題嗎? – VolkerK 2010-03-25 11:42:58

+1

我想指出ÁlvaroG. Vicario的回答。在每種情況下添加純24小時可能不是您想要的。 – Boldewyn 2010-03-25 11:47:05

+1

Yepp,這就是爲什麼我想知道zeckdude是否知道dst以及它是否受到某些關注。 – VolkerK 2010-03-25 11:54:49

回答

242

你可能要添加1天,而超過24小時。並非所有的日子在24小時由於(在其他情況下)夏令時:

strtotime('+1 day', $timestamp); 
+56

+1用於揭示晦澀(ish)邊緣情況 – 2010-03-25 11:42:40

+3

該案例並不那麼晦澀難懂,因爲早期問題的所有其他代碼在下週日早上都會中斷。 +1 – Boldewyn 2010-03-25 11:45:55

+0

我的代碼認爲March因爲這種情況而有32天的時間,所以明智地記住DST,除非你只在GMT下運行。 – nullability 2013-11-26 16:23:15

16

添加24 * 3600是秒在24小時

57

Unix時間戳的數量僅僅是因爲第一1970年1月的秒數,所以24小時添加到Unix時間戳,我們只需要添加的數量秒24小時。 (24 * 60 * 60)

time() + 24*60*60; 
+20

24 * 60 * 60 = 86400(可能會節省幾秒鐘) – Andrew 2016-02-09 01:20:55

13

Unix時間戳以秒爲單位,所以索性秒的相應號碼添加到時間戳:

$timeInFuture = time() + (60 * 60 * 24); 
12

您可以使用DateTime類以及:

$timestamp = mktime(15, 30, 00, 3, 28, 2015); 

$d = new DateTime(); 
$d->setTimestamp($timestamp); 

添加P eriod的 d AY:

$d->add(new DateInterval('P1D')); 
echo $d->format('c'); 

DateInterval瞭解更多詳情。

+1

只需添加,這隻適用於> = PHP 5.3 – tiltdown 2014-05-29 20:28:59