我的php数组中有这个string
对象
"2013-03-05就是+ 00"
我想在PHP中添加12小时的条目,然后以相同的格式将其保存回字符串
我相信这涉及到将字符串转换为日期对象。但我不确定date对象有多智能我不确定是否需要告诉它格式参数或者它是否应该接受字符串
$date = new DateTime("2013-03-05 00:00:00+00");
$date->add("+12 hours");
//then convert back to string or just assign it to a variable within the array node
我从这个方法或类似的方法返回空值,我尝试
你会如何解决这个问题?
谢谢你的意见
将add()
改为modify()
。add()
期望一个DateInterval对象
<?php
$date = new DateTime("2013-03-05 00:00:00+00");
$date->modify("+12 hours");
echo $date->format("Y-m-d H:i:sO");
实际操作
下面是一个使用DateInterval对象的例子:<?php
$date = new DateTime("2013-03-05 00:00:00+00");
$date->add(new DateInterval('PT12H'));
echo $date->format("Y-m-d H:i:sO");
实际操作
改变这一行
$date->add("+12 hours");
$date->add(new DateInterval("PT12H"));
这将给你的约会增加12个小时
查看DateInterval构造器页面,了解如何构建DateInterval
字符串
使用这个来添加小时数,
$date1= "2014-07-03 11:00:00";
$new_date= date("Y-m-d H:i:s", strtotime($date1 . " +3 hours"));
echo $new_date;
如果您有动态间隔,这样可以避免$dateDiff:
格式错误的错误。$dateDiff = "12 hours";
$interval = DateInterval::createFromDateString($dateDiff);
$date = new DateTime("2013-03-05 00:00:00+00");
$date->add($interval);
echo $date->format("Y-m-d H:i:sO");