我有一个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)
不工作**如何**? –