我在PHP中有两个变量。一种是得到今天的日期,然后加上1个月。这很好。另一个应该把这个日期加上6天。由于某种原因,那部分不工作。是我的格式不对吗?我的数据库总是得到01-06-1970。
这是获得今天日期并添加1个月的变量(工作良好)
$renewdate = date('Y-m-d', strtotime('+1 month'));
这是$renewdate增加6天的变量(不工作)
$latedate = date('Y-m-d', strtotime('+6 days',$renewdate));
strtotime
的第二个参数是Unix时间戳。目前$renewdate
是一个字符串。所以:
$latedate = date('Y-m-d', strtotime('+6 days', strtotime($renewdate)));
PHP 5.2.0带来了DateTime
,为什么你还坚持使用旧的函数?面向对象的方法更好!
$dtCreate = DateTime::createFromFormat('Y-m-d H:i:s', '2016-08-02 16:16:02');
$dtCreate->add(new DateInterval('P6D'));
这将把6 days
添加到您的DateTime
对象中,详细信息请参见DateInterval
。
在你添加了一个间隔之后,你可以随心所欲地format
你的对象:
$dtCreate->format('Y-m-d H:i:s');
这将返回2016-08-08 16:16:02
,正如您所看到的,这是6天后。