«

怎么在PHP中将时间格式化为中文

时间:2024-7-20 13:07     作者:韩俊     分类: PHP


这篇文章主要介绍了怎么在PHP中将时间格式化为中文的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么在PHP中将时间格式化为中文文章都会有所收获,下面我们一起来看看吧。

PHP中的时间函数

PHP中有很多日期和时间函数,如date()和time()等。这些函数允许我们在PHP脚本中获取当前日期和时间的数据。例如,我们可以使用以下代码来获取当前日期和时间:

$date = date('Y-m-d H:i:s');
echo $date;

这将输出当前日期和时间,例如:"2021-01-01 10:30:00"。

将PHP时间格式化为中文时间

对于一个使用中文的网站来说,我们需要将当前的时间格式化为中文时间。下面是一个将时间格式化为中文的PHP函数:

function cn_date($format, $timestamp=null){
  static $now;
  if(!isset($now)) $now=time();
  if(!$timestamp) $timestamp=$now;
  $format=str_replace(array('周','星期'),array('周','周'),$format);
  $cn_week=array('日','一','二','三','四','五','六');
  $en_week=array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
  $days=array('今天','明天','后天');
  $diff_day=ceil(($timestamp-strtotime('today 00:00'))/86400);
  if($diff_day<3) return $days[$diff_day].' '.date('H:i',$timestamp);
  $week=date('w',$timestamp);
  $cn_time=['凌晨','早上','上午','中午','下午','晚上','深夜'];
  $en_time=['0-5','6-8','9-11','12-13','14-18','19-21','22-24'];
  $time_arr=array_combine($en_time,$cn_time);
  $time_str=date('H',$timestamp).':'.str_pad(floor(date('i',$timestamp)/10)*10,2,'0');
  $time_info=$time_arr[floor(date('H',$timestamp)/3)*3];
  $cn_weekday='周'. $cn_week[$week];
  $en_weekday=$en_week[$week];
  return str_replace(array('W','w','D','d','H','h','I','i','S','s','AW','aw'),
  array($cn_weekday,$en_weekday,date('n',$timestamp),date('j',$timestamp),$time_str,
  date('g',$timestamp),$time_info,date('i',$timestamp),'秒',$diff_day.'天',$diff_day), $format);
}

这个函数将时间格式化为中文时间,并且根据不同的日期输出不同的信息。例如,当前时间为2021年10月10日,13:30:00,经过格式化后,输出为“今天 下午 01:30 ”。

使用示例:

echo cn_date('Y年m月d日 w H:i:s', time());

这将输出当前时间的格式化版本,例如:"2021年10月10日 周日 13:30:00"。

标签: php php教程

热门推荐