字符串修改混淆PHP中的格式

时间:2013-03-08 02:34:54

标签: php date formatting

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

Yy不同。

但重点是,如果你只想得到明天的日期,不要写这样的代码,只需使用:

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

如果你不关心时间,那么你甚至可以使用:

$date = new DateTime('tomorrow');

答案 2 :(得分:0)

您可以使用对象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");