嘿大家我试图向用户显示相对的日期和时间消息,例如,如果文件在不到5秒前更新,用户将看到的消息是:'Just Just Now'但是它似乎不是工作。
以下是我正在使用的代码
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"]));?>
我最终会在那里花几分钟时间,我会以正确的方式来做这件事吗?
提前致谢。
答案 0 :(得分:2)
您可以使用strtotime()
将输入日期字符串转换为Unix时间戳,并计算输入日期和当前时间之间的差异,并在差异小于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";
}
}
答案 1 :(得分: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";
}
}