本文實(shí)例總結(jié)了PHP時(shí)間戳和日期相互轉(zhuǎn)換操作。分享給大家供大家參考,具體如下:
在php中我們要把時(shí)間戳轉(zhuǎn)換日期可以直接使用date函數(shù)來(lái)實(shí)現(xiàn),如果要把日期轉(zhuǎn)換成時(shí)間戳可以使用strtotime()
函數(shù)實(shí)現(xiàn),下面我來(lái)給大家舉例說(shuō)明。
1. php中時(shí)間轉(zhuǎn)換函數(shù)
strtotime(date("Y-m-d H:i"))
date("Y-m-d H:i",$unixtime)
2. php中獲得今天零點(diǎn)的時(shí)間戳 要獲得零點(diǎn)的unix時(shí)間戳,可以使用
$todaytime=strtotime("today")
然后再使用
date("Y-m-d H:i",$todaytime)
轉(zhuǎn)換為日期。
時(shí)間戳轉(zhuǎn)換為日期
時(shí)間戳轉(zhuǎn)換函數(shù):
date("Y-m-d H:i:s",time())
,"Y-m-d H:i:s"是轉(zhuǎn)換后的日期格式,time()
是獲得當(dāng)前時(shí)間的時(shí)間戳。如果是date("Y-m-d H:i:s",time())
,則小時(shí)分秒一起顯示;如果是
date("Y-m-d ", time()),只顯示年月日。例如:
date("Y-m-d H:i:s",time())
轉(zhuǎn)換后為:
2018-12-18 11:38:18
轉(zhuǎn)換后為:
2018-12-18
日期轉(zhuǎn)換為時(shí)間戳
class SaonekController extends Controller {
public function indexAction() {
/*
時(shí)間戳轉(zhuǎn)換成日期不用說(shuō)了
但是日期要轉(zhuǎn)成時(shí)間戳的話就要用到
strtotime()
*/
$time = time(); //時(shí)間戳
$nowtime = date('Y-m-d H:i:s', $time); //生成帶格式的日期
$oldtime = '2010-11-10 22:19:21';
$catime = strtotime($oldtime); //日期轉(zhuǎn)換為時(shí)間戳
$nowtimes = date('Y-m-d H:i:s', $catime); //時(shí)間戳又轉(zhuǎn)回日期了
echo $nowtimes;
}
}
?>
3. php中時(shí)間戳轉(zhuǎn)換為日期,并按照時(shí)間顯示不同的內(nèi)容,如剛剛,分鐘前,小時(shí)前,今天,昨天等
/*
時(shí)間轉(zhuǎn)換函數(shù)
*/
function transTime($ustime) {
$ytime = date("Y-m-d H:i", $ustime);
$rtime = date("n月j日 H:i", $ustime);
$htime = date("H:i", $ustime);
$time = time() - $ustime;
$todaytime = strtotime("today");
$time1 = time() - $todaytime;
if ($time 60) {
$str = '剛剛';
} else
if ($time 60 * 60) {
$min = floor($time / 60);
$str = $min . '分鐘前';
} else
if ($time $time1) {
$str = '今天' . $htime;
} else {
$str = $rtime;
}
return $str;
}
其它的參考
使用date將當(dāng)時(shí)間戳與指定時(shí)間戳轉(zhuǎn)換成系統(tǒng)時(shí)間
(1)打印明天此時(shí)的時(shí)間戳
當(dāng)前時(shí)間:
echo date("Y-m-d H:i:s",time())
結(jié)果:
2018-12-18 11:43:21
指定時(shí)間:
echo date("Y-m-d H:i:s",strtotime("+1 day"))
結(jié)果:
2018-12-19 11:43:37
(2)打印昨天此時(shí)的PHP時(shí)間戳
結(jié)果:
1545018243
當(dāng)前時(shí)間:
echo date("Y-m-d H:i:s",time())
結(jié)果:
2018-12-18 11:44:37
指定時(shí)間:
echo date("Y-m-d H:i:s",strtotime("-1 day"))
結(jié)果:
2018-12-17 11:44:55
(3)打印下個(gè)星期此時(shí)的時(shí)間戳
當(dāng)前時(shí)間:
echo date("Y-m-d H:i:s",time())
結(jié)果:
2018-12-18 11:45:22
指定時(shí)間:
echo date("Y-m-d H:i:s",strtotime("+1 week"))
結(jié)果:
2018-12-25 11:45:36
(4)打印上個(gè)星期此時(shí)的時(shí)間戳
當(dāng)前時(shí)間:
echo date("Y-m-d H:i:s",time())
結(jié)果:
2018-12-18 11:46:02
指定時(shí)間:
echo date("Y-m-d H:i:s",strtotime("-1 week"))
結(jié)果:
2018-12-11 11:46:16
(5)打印指定下星期幾的PHP時(shí)間戳
strtotime("next Thursday")
當(dāng)前時(shí)間:
echo date("Y-m-d H:i:s",time())
結(jié)果:
2018-12-18 11:46:38
指定時(shí)間:
echo date("Y-m-d H:i:s",strtotime("next Thursday"))
結(jié)果:
2018-12-20 00:00:00
(6)打印指定上星期幾的時(shí)間戳
strtotime("last Thursday")
當(dāng)前時(shí)間:
echo date("Y-m-d H:i:s",time())
結(jié)果:
2018-12-18 11:46:38
指定時(shí)間:
echo date("Y-m-d H:i:s",strtotime("last Thursday"))
結(jié)果:
2018-12-13 00:00:00
注意:使用到時(shí)間戳與date日期設(shè)置的時(shí)候不要忘記時(shí)區(qū)的設(shè)置:
date_default_timezone_set('PRC'); //設(shè)置中國(guó)時(shí)區(qū)
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基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP 實(shí)現(xiàn)公歷日期與農(nóng)歷日期的互轉(zhuǎn)換
- 關(guān)于PHP轉(zhuǎn)換超過2038年日期出錯(cuò)的問題解決
- PHP正則匹配日期和時(shí)間(時(shí)間戳轉(zhuǎn)換)的實(shí)例代碼
- PHP入門教程之日期與時(shí)間操作技巧總結(jié)(格式化,驗(yàn)證,獲取,轉(zhuǎn)換,計(jì)算等)
- php中日期類型轉(zhuǎn)換實(shí)例講解