2016-09-26 140 views
0

我有一個ISO 8601字符串,像這樣:更改ISO 8601日期字符串24從當前值小時

2016-09-26T20:38:15.793Z 

現在,我要推的日期提前24個小時,但在「YMD H:我:「格式。我試驗了以下幾點:

//$date1 is ISO 8601 string 
date("Y-m-d H:i:s", strtotime($date1, '+24 hours')); 

但不幸的是,這是行不通的。我在正確的軌道上還是完全錯誤的?

感謝

+1

不工作**如何**? –

回答

3

使用DateTime類的子方法。創建一個新實例,添加24小時並對其進行格式化。

$dt = new DateTime('2016-09-26T20:38:15.793Z'); 
$dt->modify('+24 hours'); 
echo $dt->format('Y-m-d H:i:s'); 

https://3v4l.org/CHmmm

0

如果你想使用strototime,你在錯誤的順序的參數,你需要或者您的字符串轉換到一個時間戳,這將需要strtotime另一個應用程序,或者將它與+24修飾符連接起來。它需要是這樣的:

echo date("Y-m-d H:i:s", strtotime('+24 hours', strtotime($date1))); 

或像這樣:

echo date("Y-m-d H:i:s", strtotime("$date1+24 hours")); 

(我也建議使用DateTime類,而不是,只是FYI)

相關問題