我有一個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'));
但不幸的是,這是行不通的。我在正確的軌道上還是完全錯誤的?
感謝
我有一個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'));
但不幸的是,這是行不通的。我在正確的軌道上還是完全錯誤的?
感謝
使用DateTime
類的子方法。創建一個新實例,添加24小時並對其進行格式化。
$dt = new DateTime('2016-09-26T20:38:15.793Z');
$dt->modify('+24 hours');
echo $dt->format('Y-m-d H:i:s');
嘗試使用DateTime類http://php.net/manual/en/datetime.sub.php
如果你想使用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)
不工作**如何**? –