我想2008-12-13 10:42:00在PHP中显示第二分钟和日期

时间:2015-04-17 06:38:42

标签: php

我希望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"; 

2 个答案:

答案 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

请记住,我们在开发过程中遇到的大部分问题已经解决,所以做一点研究我相信你会找到好的解决方案。