• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php自定义的格式化时间示例代码

php 搞代码 4年前 (2022-01-01) 25次浏览 已收录 0个评论

时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,自定义的格式化时间方法如下,感兴趣的朋友可以参考下

如:时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,不多说了,直接贴上代码:

代码如下:
/**
* 格式化时间
* @param integer $timestamp 时间戳
* @param string $format dt=日期时间 d=日期 t=时间 u=个性化 其他=自定义
* @param integer $timeoffset 时区值
* @param string $custom_format 自定义时间格式
* @return string
*/
public function dgmdate( $timestamp, $format = ‘dt’, $timeoffset = ‘9999’, $custom_format = ” ) {
$return = ”;
$now = time();
$day_format = ‘Y-n-j’;
$time_format = ‘H:i:s’;
$date_format = $day_format . ‘ ‘ . $time_format;
$offset = 8; //这里默认是东八区,也就是北京时间
$lang = array(
‘before’ => ‘前’,
‘day’ => ‘天’,
‘yday’ => ‘昨天’,
‘byday’ => ‘前天’,
‘hour’ => ‘小时’,
‘half’ => ‘半’,
‘min’ => ‘分钟’,
‘sec’ => ‘秒’,
‘now’ => ‘刚刚’,
);
$timeoffset = $timeoffset == 9999 ? $offset : $timeoffset;
$timestamp += $timeoffset * 3600;
switch ( $format ) {
case ‘dt’:
$format = $date_format;
break;
case ‘d’:
$format = $day_format;
break;
case ‘t’:
$format = $time_format;
break;
}
if ( $format == ‘u’ ) {
$todaytimestamp = $now – ($now + $timeoffset * 3600) % 86400 + $timeoffset * 3600;
$s = gmdate( empty( $custom_format ) ? $date_format : $custom_format, $timestamp );
$time = $now + $timeoffset * 3600 – $timestamp;
if ( $timestamp >= $todaytimestamp ) {
if ( $time > 3600 ) {
$return = ‘‘ . intval( $time / 3600 ) . $lang[‘hour’] . $lang[‘before’] . ‘‘;
} elseif ( $time > 1800 ) {
$return = ‘‘ . $lang[‘half’] . $lang[‘hour’] . $lang[‘before’] . ‘‘;
} elseif ( $time > 60 ) {
$return = ‘‘ . intval( $time / 60 ) . $lang[‘min’] . $lang[‘before’] . ‘‘;
} elseif ( $time > 0 ) {
$return = ‘‘ . $time . $lang[‘sec’] . $lang[‘before’] . ‘‘;
} elseif ( $time == 0 ) {
$return = ‘‘ . $lang[‘now’] . ‘‘;
} else {
$return = $s;
}
} elseif ( ($days = intval( ($todaytimestamp – $来源gaodaimacom搞#代%码网timestamp) / 86400 )) >= 0 && $days <7 ) {
if ( $days == 0 ) {
$return = ‘‘ . $lang[‘yday’] . gmdate( $time_format, $timestamp ) . ‘‘;
} elseif ( $days == 1 ) {
$return = ‘‘ . $lang[‘byday’] . gmdate( $time_format, $timestamp ) . ‘‘;
} else {
$return = ‘‘ . ($days + 1) . $lang[‘day’] . $lang[‘before’] . ‘‘;
}
} else {
$return = $s;
}
} else {
$return = gmdate( $format, $timestamp );
}
return $return;
}

以上就是php自定义的格式化时间示例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php自定义的格式化时间示例代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址