我希望2008-12-13 10:42:00在PHP中显示第二分钟和日期
$days = floor($row['TimeSpent'] / (60 * 60 * 24));
$remainder = $row['TimeSpent'] % (60 * 60 * 24);
$hours = floor($remainder / (60 * 60));
$remainder = $remainder % (60 * 60);
$minutes = floor($remainder / 60);
$seconds = $remainder % 60;
if($days > 0)
echo date('F d Y', $row['date_created']);
elseif($days == 0 && $hours == 0 && $minutes == 0)
echo "few seconds ago";
elseif($days == 0)
echo $minutes.' minutes ago';
else
echo "few seconds ago";
答案 0 :(得分:2)
像这样使用PHP DateTime:
$datetime1 = new DateTime('2008-12-13 10:42:00');
$datetime2 = new DateTime();
$interval = $datetime1->diff($datetime2);
echo $interval->format('%y years') . "<br>";
echo $interval->format('%m months') . "<br>";
echo $interval->format('%d days') . "<br>";
echo $interval->format('%h hours') . "<br>";
echo $interval->format('%i minutes') . "<br>";
echo $interval->format('%s seconds ago');
输出类似于:
6年
4个月
4天
6小时
32分钟
56秒前
答案 1 :(得分:0)
这几天是如此常见的用例,所以很多开发人员已经解决了这个问题,其中一个解决方案就是使用这里的php Carbon库 http://carbon.nesbot.com/
安装了Carbon库,你就可以这样做了
echo Carbon::createFromFormat('Y-m-d H:i:s', '2008-12-13 10:42:00')->diffForHumans();
您可以在此处找到有关此用法的更多信息 http://carbon.nesbot.com/docs/#api-humandiff
请记住,我们在开发过程中遇到的大部分问题已经解决,所以做一点研究我相信你会找到好的解决方案。