PHP日期时间::差异问题与日期时间::格式
问题描述:
当我试图格式化日期和时间使用正常的PHP代码(d,Y,m等)日期差异,它只是输出字母,而不是值。这只是当我格式化一个DateTime :: diff。它适用于简单的DateTime对象。PHP日期时间::差异问题与日期时间::格式
此:
$date1 = new DateTime('2000-01-01');
$date2= new DateTime('now');
$date=$date2->diff($date1);
echo $date->format('d days ago');
输出 “d天前”。
我知道如果我用%a替换d,它会在多少天前输出这是。我想知道其他角色会输出几秒钟,几分钟甚至几年。
在此先感谢!
答
DateTime :: diff()返回一个DateInterval对象。
例如:
<?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
谢谢您的指点我朝着正确的方向!我稍后将对此进行试验。 – msalihov 2013-02-12 19:25:02
没问题!我碰到类似的事情。很高兴我能帮上忙。 – bigmandan 2013-02-12 19:26:11