首页  >  文章  >  后端开发  >  如何在PHP中将时间格式化为中文

如何在PHP中将时间格式化为中文

PHPz
PHPz原创
2023-03-29 15:13:46713浏览

在Web应用程序开发中,时间处理是一个非常重要的问题,而且经常需要对时间进行格式化,以在页面上显示正确的时间。对于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函数,它可以将时间格式化为中文,并且输出的信息非常实用。如果您正在开发一个中文网站,那么这个函数应该非常适合您。

以上是如何在PHP中将时间格式化为中文的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn