PHP将时间格式化几天前、几分钟前等
发布时间:2020-05-25 07:07:03 所属栏目:PHP 来源:互联网
导读:PHP将时间格式化几天前、几分钟前等
|
下面是脚本之家 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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
