說到時間,就不得不先介紹一下“時間戳”這個名詞了,首先什么是時間戳?
時間戳的定義:時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現(xiàn)在的總秒數(shù)。
時間戳(timestamp),通常是一個字符序列,唯一地標(biāo)識某一刻的時間。簡單的來說就是一串?dāng)?shù)字,時間每過一秒,時間戳就回+1
一、PHP 時間戳
PHP 時間戳
UNIX 時間戳(timestamp)是 PHP 中關(guān)于時間日期一個很重要的概念,它表示從 1970年1月1日 00:00:00 到當(dāng)前時間的秒數(shù)之和。
PHP提供了內(nèi)置函數(shù) time() 來取得服務(wù)器當(dāng)前時間的時間戳。
二、PHP 日期轉(zhuǎn)換為時間戳 strtotime 與 mktime 函數(shù)
PHP 提供了函數(shù)可以方便的將各種形式的日期轉(zhuǎn)換為時間戳,該類函數(shù)主要是:
strtotime() 函數(shù)用于將英文文本字符串表示的日期轉(zhuǎn)換為時間戳,為 date() 的反函數(shù),成功返回時間戳,否則返回 FALSE 。
mktime() 函數(shù)用于從日期取得時間戳,成功返回時間戳,否則返回 FALSE 。
三、PHP 格式化顯示時間 date 函數(shù)
date() 函數(shù)用于格式化時間,返回一個字符串。PHP中的時間函數(shù)有這么些:
(1)date
用法: date(格式,[時間]);
如果沒有時間參數(shù),則使用當(dāng)前時間. 格式是一個字符串,其中以下字符有特殊意義:
U 替換成從一個起始時間(好象是1970年1月1日)以來的秒數(shù)
Y 替換成4位的年號.
y 替換成2位的年號.
F 替換成月份的英文全稱.
M 替換成月份的英文簡稱.
m 替換成月份數(shù).
z 替換成從當(dāng)年1月1日以來的天數(shù).
d 替換成日數(shù).
l 替換成星期幾的英文全稱.
D 替換成星期幾的英文簡稱.
w 替換成星期幾(數(shù)字).
H 替換成小時數(shù)(24小時制).
h 替換成小時數(shù)(12小時制).
i 替換成分鐘數(shù).
s 替換成秒數(shù).
A 替換成"AM"或"PM".
a 替換成"am"或"pm".
S 替換成序數(shù)字后綴,例如:"st","nd","rd","th".
函數(shù)返回作過了替換的格式串.
(2)getdate(時間)
返回一個哈希表,各下標(biāo)是:
"seconds" -- 秒數(shù)
"minutes" -- 分?jǐn)?shù)
"hours" -- 小時數(shù)
"mday" -- 日數(shù)
"mon" -- 月份數(shù)
"year" -- 年號
"yday" -- 1月1日以來的天數(shù)
"weekday" -- 星期幾,英文全稱
"month" -- 月份,英文全名
(3)gmdate
與date類似,但先將時間轉(zhuǎn)換成格林威治標(biāo)準(zhǔn)時.
(4)mktime
用法:
mktime(小時數(shù),分?jǐn)?shù),秒數(shù),月,日,年); 返回一個時間值,可用于其他函數(shù).
(5)time()
用法:
time(); 返回1970年1月1日零點以來的秒數(shù).
(6)microtime()
用法:
microtime(); 返回一個字符串,用空格分成兩部分,后一部分相當(dāng)于time()
的返回值,前一部分是微秒數(shù).
(7)checkdate
checkdate(月,日,年); 返回邏輯真或邏輯假. 如果:
年在1900和32767之間(包括1900與32767);
月在1到12之間;
日在該月的允許日數(shù)范圍內(nèi)(考慮了閏年);