手机
当前位置:查字典教程网 >编程开发 >php教程 >php自定义的格式化时间示例代码
php自定义的格式化时间示例代码
摘要:如:时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,不多说了,直接贴上代码:复制代码代码如下:/***格式化时间*@paramin...

如:时间刚好是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 = '<span title="' . $s . '">' . intval( $time / 3600 ) . $lang['hour'] . $lang['before'] . '</span>';

} elseif ( $time > 1800 ) {

$return = '<span title="' . $s . '">' . $lang['half'] . $lang['hour'] . $lang['before'] . '</span>';

} elseif ( $time > 60 ) {

$return = '<span title="' . $s . '">' . intval( $time / 60 ) . $lang['min'] . $lang['before'] . '</span>';

} elseif ( $time > 0 ) {

$return = '<span title="' . $s . '">' . $time . $lang['sec'] . $lang['before'] . '</span>';

} elseif ( $time == 0 ) {

$return = '<span title="' . $s . '">' . $lang['now'] . '</span>';

} else {

$return = $s;

}

} elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) {

if ( $days == 0 ) {

$return = '<span title="' . $s . '">' . $lang['yday'] . gmdate( $time_format, $timestamp ) . '</span>';

} elseif ( $days == 1 ) {

$return = '<span title="' . $s . '">' . $lang['byday'] . gmdate( $time_format, $timestamp ) . '</span>';

} else {

$return = '<span title="' . $s . '">' . ($days + 1) . $lang['day'] . $lang['before'] . '</span>';

}

} else {

$return = $s;

}

} else {

$return = gmdate( $format, $timestamp );

}

return $return;

}

【php自定义的格式化时间示例代码】相关文章:

php中的时间处理

php快速查找数据库中恶意代码的方法

一棵php的类树(支持无限分类)

php 类自动载入的方法

php实现简单的语法高亮函数实例分析

PHP中预定义的6种接口介绍

我的论坛源代码(六)

PHP cURL初始化和执行方法入门级代码

php实现格式化多行文本为Js可用格式

PHP中显示格式化的用户输入

精品推荐
分类导航