$str = date("d")+1 . date("-m") . date("-y");
$date = new DateTime($str);
echo $date->format('y-m-d ');
这个可以正常工作,但是…
$str = date("d")+1 . date("-m") . date("-y");
$date = new DateTime($str);
echo $date->format('d-m-Y ');
奇怪的是,两个都给出了不同的日期
我认为这是由于DateTime构造函数,但有一个简单的解决办法吗?
在日期格式中使用大写的Y
将为您提供四位数字的年份。使用小写的y
将只提供两位数字。
Y
和y
不同。
但关键是,如果你只想得到明天的日期,不要写这样的代码,只需使用:
$date = new DateTime('+1 day');
echo $date->format('Y-m-d');
如果你不在乎时间,那么你甚至可以使用:
$date = new DateTime('tomorrow');
代替手动添加字符串date()
函数,您可以使用对象modify
:
$str = date("d") . date("m") . date("y");
$time = new DateTime($str);
$time->modify("+1 day");
echo $time->format("d-m-y");
更好的办法:
$time = new DateTime("+1 day");
echo $time->format("d-m-y");