0
$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 构造函数,但是有一个简单的解决方法吗?

4

3 回答 3

2

Y并且y是不同的。

但关键是,如果您只想获取明天的日期,请不要编写这样的代码,只需使用:

$date = new DateTime('+1 day');
echo $date->format('Y-m-d');

如果您不在乎时间,那么您甚至可以使用:

$date = new DateTime('tomorrow');
于 2013-03-08T02:40:57.223 回答
2

在日期格式中使用大写字母Y将为您提供四位数的年份。使用小写字母y只会给你两位数。

于 2013-03-08T02:38:22.313 回答
0

date()您可以使用 object代替手动添加字符串函数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");
于 2013-03-08T02:41:41.980 回答