您当前的位置: 首页 > 网站编程 > PHP教程 > php自定义的格式化时间示例代码

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

作者:不详 来源:网络 发布时间: 2014-08-13 18:37 点击:
时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,自定义的格式化时间方法如下,感兴趣的朋友可以参考下 如:时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,不多说了,直接贴上代码: 代码如下: /** * 格式化时间 * @param integer $timestamp 时

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

  时间刚好是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 = '<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自定义的格式化时间示例代码"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4