我们经常看到微博里的信息。
发布时间:刚刚
发布时间:1分钟前。
发布时间:今天8:8。
发布时间:2011年8月2日。
PHP中时间函数date与gmdate的区别和修改PHP的默认时区方法:传送门
就是这样的效果。好吧发布程序!
<?php /** 时间格式化显示 * @param $timestamp,标准时间戳 */ function smc_time_since($timestamp) { $since = abs(time()-$timestamp); $timestamp=$timestamp+3600*8; $current_time = time(); if(floor($since/3600)){ if(gmdate('Y-m-d',$timestamp) == gmdate('Y-m-d',$current_time)){ $output = floor($since/3600); $output.= '小时'; // $output.= '今天 '; //$output.= gmdate('H:i',$timestamp); }else{ if(gmdate('Y',$timestamp) == gmdate('Y',$current_time)){ $output = gmdate('m月d日 H:i',$timestamp); }else{ $output = gmdate('Y年m月d日 H:i',$timestamp); } } }else{ if(($output=floor($since/60))){ $output = $output.'分钟前'; }else $output = '刚刚'; } return $output; } ?>
wordpress用下面这个函数
<?php /** 时间格式化显示 * @param $timestamp,标准时间戳 */ function smc_time_since($timestamp) { $since = abs(time()-$timestamp); $gmt_offset = get_option('gmt_offset') * 3600;//获取wordpress的时区偏移值 $timestamp += $gmt_offset; $current_time = mktime() + $gmt_offset; if(floor($since/3600)){ if(gmdate('Y-m-d',$timestamp) == gmdate('Y-m-d',$current_time)){ $output = '今天 '; $output.= gmdate('H:i',$timestamp); }else{ if(gmdate('Y',$timestamp) == gmdate('Y',$current_time)){ $output = gmdate('m月d日 H:i',$timestamp); }else{ $output = gmdate('Y年m月d日 H:i',$timestamp); } } }else{ if(($output=floor($since/60))){ $output = $output.'分钟前'; }else $output = '刚刚'; } return $output; } ?>
» 版权所有:YaoLei's Blog » PHP时间格式化函数文章发布了多久效果。
» 本文链接:https://www.yaolei.info/archives/44
这个怎么调用啊
echo smc_time_since($timestamp);
不会把,我这样调用,我全部的评论显示1970年了
$timestamp,标准时间戳
哦,那就是郁闷,我这个显示1970-01-01 08:00,全部都是!
你的时间是什么格式? 可能不是时间戳或错误的时间~
你测试的时候可以先用time()获取当前时间戳 测试下!
文章上面有些~点击传送门 查看 时间转换内容~
PHP中时间函数date与gmdate的区别和修改PHP的默认时区方法:传送门
非常感谢!我试试
呵呵 好的~ :!!!: