嘿,每个人都在尝试向用户显示相对日期和时间消息,因此例如,如果文件在不到 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"]));?>
我最终会在那里呆上几分钟和几个小时,我这样做的方式是否正确?
提前谢谢。
您可以使用
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";
}
}
基本上,
您正在寻找它发布的时间是否少于五秒。很简单,但您必须使用时间戳。格式化时间不好。
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";
}
}