0

嘿,我正在尝试向用户显示相对日期和时间消息,例如,如果文件在 5 秒前更新,用户将看到的消息是:“刚刚更新”,但它似乎不起作用。

这是我正在使用的代码

function relativeTime($date) {
    $timeNow = date('M d Y H:s');

     if ($date == $timeNow || $date == date('M d Y H:s', + 500)) {
         echo "Updated Just Now";

     } else {
         echo "not now";
     }
}

这是我显示它并将参数传递给它的地方:

<?php relativeTime(dateUTCtoLocal("M d Y H:s", $arrSchool["updated"]));?>

我最终会有一些如果在那里持续几分钟和几小时,我这样做是否正确?

提前致谢。

4

2 回答 2

2

您可以使用并计算输入日期和当前时间之间的差值将输入日期字符串转换为 Unix 时间戳strtotime(),并在差值小于 5 分钟(5 * 60 = 300 秒)时显示消息:

function relativeTime($date) {
    $timeNow = date('M d Y H:s');
    $diff = strtotime($timeNow) - strtotime($date);

     if ($diff < (5*60)) {
         echo "Updated Just Now";
     } else {
         echo "not now";
     }
}
于 2013-10-17T14:03:51.210 回答
0

基本上你正在寻找它发布的时间是否少于五秒前。很简单,但你必须使用时间戳。格式化的时间不好。

relativeTime($arrSchool['updated']); // if it's a numeric timestamp
relativeTime(strtotime($arrSchool['updated'])); // if it's a datetime string

function relativeTime($timestamp) {
    if( $timestamp > time()-5) {
        echo "Updated Just Now";
    }
    else {
        echo "not now";
    }
}
于 2013-10-17T14:10:11.307 回答