首頁 >後端開發 >php教程 >如何解決PHP基於DateTime類別Unix時間戳與日期互轉的問題

如何解決PHP基於DateTime類別Unix時間戳與日期互轉的問題

不言
不言原創
2018-06-13 09:34:221625瀏覽

這篇文章主要介紹了PHP基於DateTime類別解決Unix時間戳與日期互轉問題,透過DateTime類別解決1970年前及2038年後時間戳顯示與計算問題,非常簡單實用,程式碼中備有較為詳盡的註解便於理解,需要的朋友可以參考下

本文實例講述了PHP基於DateTime類別解決Unix時間戳與日期互轉問題。分享給大家供大家參考,具體如下:

這個問題主要在32位元的系統下出現,64位元的不存在這樣的問題。 php 5.2 提供了DateTime類別來處理這樣的問題,參考方案如下(請注意時區的處理):

//1、Unix时间戳转日期
function unixtime_to_date($unixtime, $timezone = 'PRC') {
  $datetime = new DateTime("@$unixtime"); //DateTime类的bug,加入@可以将Unix时间戳作为参数传入
  $datetime->setTimezone(new DateTimeZone($timezone));
  return $datetime->format("Y-m-d H:i:s");
}
//2、日期转Unix时间戳
function date_to_unixtime($date, $timezone = 'PRC') {
  $datetime= new DateTime($date, new DateTimeZone($timezone));
  return $datetime->format('U');
}
echo date_to_unixtime("1900-1-31 00:00:00"); //输出-2206425952
echo &#39;<br>&#39;;
echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //输出1900-01-31 00:00:00

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

如何用php處理多圖上傳壓縮的功能

在php中用html_entity_decode實作HTML實體轉義

#

以上是如何解決PHP基於DateTime類別Unix時間戳與日期互轉的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn