下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
<?PHP class DateFormat { private static $_DIFF_FORMAT = array( 'DAY' => '%s天前','DAY_HOUR' => '%s天%s小时前','HOUR' => '%s小时','HOUR_MINUTE' => '%s小时%s分前','MINUTE' => '%s分钟前','MINUTE_SECOND' => '%s分钟%s秒前','SECOND' => '%s秒前',); /** * 友好格式化时间 * * @param int 时间 * @param array $formats * @return string */ public static function diff($timestamp,$formats = null) { if ($formats == null) { $formats = self::$_DIFF_FORMAT; } /* 计算出时间差 */ $seconds = time() - $timestamp; $minutes = floor($seconds / 60); $hours = floor($minutes / 60); $days = floor($hours / 24); if ($days > 0) { $diffFormat = 'DAY'; } else { $diffFormat = ($hours > 0) ? 'HOUR' : 'MINUTE'; if ($diffFormat == 'HOUR') { $diffFormat .= ($minutes > 0 && ($minutes - $hours * 60) > 0) ? '_MINUTE' : ''; } else { $diffFormat = (($seconds - $minutes * 60) > 0 && $minutes > 0) ? $diffFormat.'_SECOND' : 'SECOND'; } } $dateDiff = null; switch ($diffFormat) { case 'DAY': $dateDiff = sprintf($formats[$diffFormat],$days); break; case 'DAY_HOUR': $dateDiff = sprintf($formats[$diffFormat],$days,$hours - $days * 60); break; case 'HOUR': $dateDiff = sprintf($formats[$diffFormat],$hours); break; case 'HOUR_MINUTE': $dateDiff = sprintf($formats[$diffFormat],$hours,$minutes - $hours * 60); break; case 'MINUTE': $dateDiff = sprintf($formats[$diffFormat],$minutes); break; case 'MINUTE_SECOND': $dateDiff = sprintf($formats[$diffFormat],$minutes,$seconds - $minutes * 60); break; case 'SECOND': $dateDiff = sprintf($formats[$diffFormat],$seconds); break; } return $dateDiff; } } echo DateFormat::diff('1310455823'); /* 33分钟47秒前 */
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。