douji6199 2012-09-08 14:48 采纳率: 100%
浏览 24
已采纳

PHP日期strtotime - 各种输出[重复]

Possible Duplicate:
PHP: producing relative date/time from timestamps

please see the example of PHP code:

<?php

$now = date("Y-m-d H:i:s");  
$comment_added = date("2012-05-25 22:10:00");  

?>

As the output, I would like to get something like this (depending on when a comment has been added):

Comment has been added 21 minutes ago.
Comment has been added 15 hours ago.
Comment has been added 2 days ago.
Comment has been added 3 months ago.
Comment has been added 4 years ago.

I would like to get a function, where it will be selected automatically. Any examples would be appreciated.

  • 写回答

2条回答 默认 最新

  • doukui9491 2012-09-08 15:00
    关注

    This should work.

    <?php
    
    $now = date("Y-m-d H:i:s");  
    $comment_added = date("2012-05-25 22:10:00");
    
    $diff = strtotime($now) - strtotime($comment_added);
    if ($diff > (365*24*3600)) {
        $type = 'year';
        $value = floor($diff / (365*24*3600));
    } else if ($diff > (30*24*3600)) {
        $type = 'month';
        $value = floor($diff / (30*24*3600));
    } else if ($diff > (24*3600)) {
        $type = 'day';
        $value = floor($diff / (24*3600));
    } else if ($diff > 3600) {
        $type = 'hour';
        $value = floor($diff / 3600);
    } else if ($diff > 60) {
        $type = 'min';
        $value = floor($diff / 60);
    } else {
        $type = 'sec';
        $value = $diff;
    }
    
    $plurial = '';
    if ($value > 1)
    {
        $plurial .= 's';
    }
    echo "Comment added {$value} {$type}{$plurial} ago.";
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b