PHP DateTime::带有DateTime::format的差异问题

PHP DateTime::带有DateTime::format的差异问题,php,datetime-format,Php,Datetime Format,当我尝试使用普通的PHP代码(d、Y、m等)对日期和时间设置日期差的格式时,它只输出字母,而不是值。这仅在我格式化DateTime::diff时有效。它适用于简单的DateTime对象 这: 输出“d天前” 我知道如果我用a%a替换d,它将输出这是多少天前的数据。我想知道还有哪些字符可以输出秒、分钟甚至年 提前谢谢 DateTime::diff()返回一个对象 例如: <?php $date1 = new DateTime('2000-01-01'); $date2= new DateT

当我尝试使用普通的PHP代码(d、Y、m等)对日期和时间设置日期差的格式时,它只输出字母,而不是值。这仅在我格式化DateTime::diff时有效。它适用于简单的DateTime对象

这:

输出“d天前”

我知道如果我用a%a替换d,它将输出这是多少天前的数据。我想知道还有哪些字符可以输出秒、分钟甚至年

提前谢谢

DateTime::diff()返回一个对象

例如:

<?php

$date1 = new DateTime('2000-01-01');
$date2= new DateTime('now');
$interval=$date2->diff($date1);
echo "Years: {$interval->y }\n";
echo "Months: {$interval->m }\n";
echo "Days: {$interval->d }\n";
echo "Hours: {$interval->h }\n";
echo "Mins: {$interval->i }\n";
echo "Secs: {$interval->s }\n";
echo $interval->format("%Y years, %m months, %d days,  %H hours, %i minutes, %s seconds") . "\n";

谢谢你给我指明了正确的方向!我稍后会用这个做实验。没问题!不久前我遇到了类似的事情。很高兴我能帮忙。
<?php

$date1 = new DateTime('2000-01-01');
$date2= new DateTime('now');
$interval=$date2->diff($date1);
echo "Years: {$interval->y }\n";
echo "Months: {$interval->m }\n";
echo "Days: {$interval->d }\n";
echo "Hours: {$interval->h }\n";
echo "Mins: {$interval->i }\n";
echo "Secs: {$interval->s }\n";
echo $interval->format("%Y years, %m months, %d days,  %H hours, %i minutes, %s seconds") . "\n";
Years: 13
Months: 1
Days: 11
Hours: 13
Mins: 14
Secs: 44
13 years, 1 months, 11 days,  13 hours, 21 minutes, 43 seconds