跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

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

如:时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,不多说了,直接贴上代码:PHP 8.5.5 PHP 8.5.5 是 PHP 8.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 - $timestamp) / 86400 )) >= 0 && $days 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;}

相关文章