PHP基于DateTime類解決Unix時間戳與日期互轉問題【針對1970年前及2038年后時間戳】
本文實例講述了PHP基于DateTime類解決Unix時間戳與日期互轉問題。分享給大家供大家參考,具體如下:
這個問題主要在32位的系統(tǒng)下出現(xiàn),64位的不存在這樣的問題。php 5.2+提供了DateTime類來處理這樣的問題,參考方案如下(請注意時區(qū)的處理):
//1、Unix時間戳轉日期
function unixtime_to_date($unixtime, $timezone = 'PRC') {
$datetime = new DateTime("@$unixtime"); //DateTime類的bug,加入@可以將Unix時間戳作為參數(shù)傳入
$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 '<br>';
echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //輸出1900-01-31 00:00:00
PS:這里再為大家推薦幾款時間及日期相關工具供大家參考使用:
在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計算器/相差天數(shù)計算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉換工具:
http://tools.jb51.net/code/unixtime
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
PHP中檢查isset()和!empty()函數(shù)的必要性
在本篇文章里小編給大家總結的是關于PHP中同時檢查isset()和!empty()函數(shù)的必要性原因,有需要的朋友們學習下。2019-02-02
php實現(xiàn)的證件照換底色功能示例【人像摳圖/換背景圖】
這篇文章主要介紹了php實現(xiàn)的證件照換底色功能,結合實例形式分析了php實人像摳圖與換背景圖相關操作技巧,需要的朋友可以參考下2020-05-05
php?ZipArchive解壓縮實現(xiàn)后臺管理升級問題詳解
php?ZipArchive可以說是php自帶的一個函數(shù)了,他可對對文件進行壓縮與解壓縮處理,但是使用此類之前我們必須在php.ini中把extension=php_zip.dll前面的分號有沒有去掉,然后再重啟Apache這樣才能使用這個類庫2022-12-12

