脚本宝典收集整理的这篇文章主要介绍了php – 相对日期格式总是输出“3小时前”,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
当我来到小时部分时,我得到的东西在PHP中表现得非常有趣.下面是完整的工作代码,但当您使用此代码替换小时部分时,它总是打印出3个小时.
定义常数DATE
// The current date timestamp define('DATE',time());
//Only the hours part that' doing something weird case ($interval >= 3600 && $interval < 86400) : $return = ( date('H',$interval) < 2) ? (int)date('H',$interval) . ' hour ago' : (int)date('H',$interval) . ' hours ago'; break;
它在指定的日期时断开,假设在这种情况下,创建日期只是一个多小时前因此导致间隔等于3660秒.似乎日期方法调用日期(‘H’,3660)导致03.它不应该导致01吗?毕竟只需一个多小时.
这里的工作代码:
public static function getTimeInterval($date) { $interval = DATE - $date; $return = ''; swITch ( $interval ) { case ($interval <= 60) : $return = 'a few secs ago'; break; case ($interval > 60 && $interval < 3600) : $return = (int)date('i',$interval) . ' mins ago'; break; case ($interval >= 3600 && $interval < 86400) : $return = ( abs((date('G',DATE) - date('G',$date))) < 2) ? abs((date('G',$date))) . ' hour ago' : abs((date('G',$date))) . ' hours ago'; break; case ($interval >= 86400 && $interval < 604800) : $return = ( (int)date('j',$interval) === 1) ? (int)date('j',$interval) . ' day ago' : (int)date('j',$interval) . ' days ago'; break; case ($interval > 604800 && $interval <= 2592000) : $return = 'A few weeks ago'; break; case ($interval > 2592000) : $return = date('n',$interval) . ' months ago'; break; case ($interval > 31536000) : $return = 'Over a year ago'; break; } return $return; }
以上是脚本宝典为你收集整理的php – 相对日期格式总是输出“3小时前”全部内容,希望文章能够帮你解决php – 相对日期格式总是输出“3小时前”所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。