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

WBOY
Freigeben: 2016-06-01 11:57:48
Original
821 Leute haben es durchsucht

如:时间刚好是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 - $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;
}

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!