本文實(shí)例講述了PHP基于DateTime類解決Unix時(shí)間戳與日期互轉(zhuǎn)問題。分享給大家供大家參考,具體如下:
這個(gè)問題主要在32位的系統(tǒng)下出現(xiàn),64位的不存在這樣的問題。php 5.2+提供了DateTime類來處理這樣的問題,參考方案如下(請(qǐng)注意時(shí)區(qū)的處理):
//1、Unix時(shí)間戳轉(zhuǎn)日期
function unixtime_to_date($unixtime, $timezone = 'PRC') {
$datetime = new DateTime("@$unixtime"); //DateTime類的bug,加入@可以將Unix時(shí)間戳作為參數(shù)傳入
$datetime->setTimezone(new DateTimeZone($timezone));
return $datetime->format("Y-m-d H:i:s");
}
//2、日期轉(zhuǎn)Unix時(shí)間戳
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í)間及日期相關(guān)工具供大家參考使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計(jì)算器/相差天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計(jì)算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php日期與時(shí)間用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- php日期轉(zhuǎn)時(shí)間戳,指定日期轉(zhuǎn)換成時(shí)間戳
- PHP中UNIX時(shí)間戳和日期間的轉(zhuǎn)換與計(jì)算實(shí)例
- PHP+Mysql日期時(shí)間如何轉(zhuǎn)換(UNIX時(shí)間戳和格式化日期)
- 解析php時(shí)間戳與日期的轉(zhuǎn)換
- PHP正則匹配日期和時(shí)間(時(shí)間戳轉(zhuǎn)換)的實(shí)例代碼
- PHP時(shí)間戳與日期之間轉(zhuǎn)換的實(shí)例介紹
- php根據(jù)日期或時(shí)間戳獲取星座信息和生肖等信息
- PHP時(shí)間戳和日期相互轉(zhuǎn)換操作實(shí)例小結(jié)