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 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题