为什么日期时间->diff() 显示其他结果


Why DateTime->diff() show other results?

$DateStartTime = new DateTime("now");
$Day1 = '20';
$Day2 = '25';
$DateStart = new DateTime($DateStartTime->format('Y').'-'.$DateStartTime->format('m').'-'.$Day1);
$DateEnd = new DateTime($DateStartTime->format('Y').'-'.$DateStartTime->format('m').'-'.$Day2);
$Line = $DateStart->diff($DateEnd);
echo $Line->format("j");

此代码应打印日期之间的天数,但结果我看到符号j

请告诉我,为什么结果我们看到符号j而不是计算天数?

附言:j - 计算没有第一0的天数;

DateTime::diff返回一个DateInterval实例。您可以在此处阅读允许的格式字符。没有j.你想要的是

echo $Line->format("%a"); // 5