PHP版实现友好的时间显示方式(例如:2小时前)
完整php类,通常我会配合smary使用,快捷使用 (plugins/function.rdate.php),更多php技术开发就去php教程网,http://php.662p.com
<?PHP /* * Data time functions. // * 模块 */ defined(‘TSKY‘) || die(‘Permission Denied!‘); function fmtMonth($month){ return date(‘F, Y‘,day2time($month.‘01‘)); } // function fmt_month($ts) { return strftime("%b,%Y",$ts); } // 03:02 function shartTime($ts) { return strftime("%H:%M",$ts); } // 03:02:01 function longTime($ts) { return strftime("%T",$ts); } //4月18日 function shortDate($ts) { return date("n月d日",$ts); } //2006年4月18日 function longDate($ts) { return date("Y年n月d日",$ts); } function dateTime($ts) { return date("Y年n月d日 H:i:s",$ts); } function fullDateTime($ts) { return date("Y年n月d日 ",$ts).week($ts); } function week($ts) { global $lang; return $lang[‘weekDay‘][date(‘w‘,$ts)]; } function relatively_date($date) { if (!preg_match(‘/^\d+$/‘, $date)) $date = strtotime(trim($date)); $sec = time() - $date; switch(true){ case $sec < 3600: return round($sec/60). ‘ 分钟前‘; case $sec < 86400: return round($sec/3600). ‘ 小时前‘; case $sec < (86400 * 7): return round($sec/86400). ‘ 天前‘;//days ago case $sec < (86400 * 7 * 4): return round($sec/(86400*7)). ‘ 周前‘; //weeks ago default: return longDate($date); } } function nextMonth($month/*200512->200601*/){ return date(‘Ym‘,strtotime(‘+1 month‘,strtotime($month.‘01‘))); } function prevMonth($month/*200512->200511*/){ return date(‘Ym‘,strtotime(‘-1 month‘,strtotime($month.‘01‘))); } function prevDay($day/*20050826*/){ $day = substr($day,0,8); return date(‘Ymd‘,strtotime(‘-1 day‘,strtotime($day))); } function nextDay($day/*20050826*/){ $day = substr($day,0,8); return date(‘Ymd‘,strtotime(‘+1 day‘,strtotime($day))); } function nextExistsDay($day/*20050109*/){ $day = nextDay($day); while(!hasTopic($day) && $day < TODAY){ $day = nextDay($day); } return hasTopic($day) ? $day : false; } function prevExistsDay($day/*20050109*/){ global $cfg; $day = prevDay($day); while(!hasTopic($day) && (int)$day > $cfg->origDate){ $day = prevDay($day); } return hasTopic($day) ? $day : false; } function prev_day($day){$day = substr($day,0,8);return date(‘Ymd‘,strtotime(‘-1 day‘,strtotime($day)));} function long_date($ts){return date("Y年n月d日",$ts);} function day2time($day){return @strtotime($day);} /* echo "<pre>"; echo strftime("a%a\n"); // a 星期二 echo strftime("A%A\n"); // A 星期二 echo strftime("b%b\n"); // b 四月 echo strftime("B%B\n"); // B 四月 echo strftime("c%c\n"); // c 2006-4-18 3:48:11 echo strftime("C%C\n"); // C echo strftime("d%d\n"); // d 18 echo strftime("D%D\n"); // D echo strftime("e%e\n"); // e echo strftime("g%g\n"); // g echo strftime("G%G\n"); // G echo strftime("h%h\n"); // h echo strftime("H%H\n"); // H 03 echo strftime("I%I\n"); // I 03 echo strftime("j%j\n"); // j 108 echo strftime("m%m\n"); // m 04 echo strftime("M%M\n"); // M 48 echo strftime("n%n\n"); // n echo strftime("p%p\n"); // p 上午 echo strftime("r%r\n"); // r echo strftime("R%R\n"); // R echo strftime("S%S\n"); // S 11 echo strftime("t%t\n"); // t echo strftime("T%T\n"); // T echo strftime("u%u\n"); // u echo strftime("U%U\n"); // U 16 echo strftime("V%V\n"); // V echo strftime("W%W\n"); // W 16 echo strftime("w%w\n"); // w 2 echo strftime("x%x\n"); // x 2006-4-18 echo strftime("X%X\n"); // X 3:48:11 echo strftime("y%y\n"); // y 06 echo strftime("Y%Y\n"); // Y 2006 echo strftime("Z%Z\n"); // Z 中国标准时间 echo strftime("%%%\n"); // % */
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。