首頁 >後端開發 >PHP問題 >如何在PHP中將時間格式化為中文

如何在PHP中將時間格式化為中文

PHPz
PHPz原創
2023-03-29 15:13:46745瀏覽

在網路應用程式開發中,時間處理是一個非常重要的問題,而且經常需要對時間進行格式化,以在頁面上顯示正確的時間。對於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