Home > Backend Development > PHP Tutorial > About php custom formatting time

About php custom formatting time

不言
Release: 2023-04-01 16:52:01
Original
1706 people have browsed it

This article mainly introduces the custom formatting time of PHP, which has certain reference value. Now I share it with everyone. Friends in need can refer to it.

The time was exactly 5 minutes ago, then The corresponding timestamp will be formatted as 5 minutes ago. The customized formatting method is as follows. Interested friends can refer to the following

. For example: if the time is exactly 5 minutes ago, then the corresponding timestamp It will be formatted as 5 minutes ago. No more words, just paste the code:

/** 
* 格式化时间 
* @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 = &#39;<span title="&#39; . $s . &#39;">&#39; . intval( $time / 3600 ) . $lang[&#39;hour&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 1800 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;half&#39;] . $lang[&#39;hour&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 60 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . intval( $time / 60 ) . $lang[&#39;min&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $time . $lang[&#39;sec&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time == 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;now&#39;] . &#39;</span>&#39;; 
} else { 
$return = $s; 
} 
} elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) { 
if ( $days == 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;yday&#39;] . gmdate( $time_format, $timestamp ) . &#39;</span>&#39;; 
} elseif ( $days == 1 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;byday&#39;] . gmdate( $time_format, $timestamp ) . &#39;</span>&#39;; 
} else { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . ($days + 1) . $lang[&#39;day&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} 
} else { 
$return = $s; 
} 
} else { 
$return = gmdate( $format, $timestamp ); 
} 
return $return; 
}
Copy after login

The above is the entire content of this article. I hope it will be helpful to everyone's learning. For more related content, please pay attention to PHP Chinese website!

Related recommendations:

About how to use exec, system and other functions to call system commands in PHP

PHP implementation of converting time difference into string

The above is the detailed content of About php custom formatting time. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template