1. 獲取時間和日期
date()函式用來獲取並格式化日期和時間,它帶有兩個引數,第乙個是格式字串,第二個可選引數是unix時間戳。如果沒有指定時間戳,在預設的情況下,date()函式將返回當前的日期和時間,例如:
echo date('js f y');
支援的格式**
**描述a
上午或下午,小寫字元表示,"am"或"pm"。
a上午或下午,大寫字元表示,"am"或"pm"。
bswatch internet時間。
ciso 8601日期,日期用yyyy-mm-dd表示,時間用hh:mm:ss表示。
d月份中的日期,有前導0,如"05"。
d星期,縮略字元表示,如"mon"。
e時區識別器。
f年中的月份,全寫,如"january"。
g日期中的時間,12小時制,無前導0,從"1"到"12"。
g日期中的時間,24小時制,無前導0,從"0"到"23"。
h日期中的時間,12小時制,有前導0,從"01"到"12"。
h日期中的時間,24小時制,有前導0,從"00"到"23"。
i小時中的分鐘,有前導0,從"00"到"59"。
i夏令時制,以布林值表示,若為夏令值,返回"1",否則返回"0"。
j月份中的日期,無前導0,如"5"。
l星期,全寫,如"sunday"。
l閏年,以布林值表示,如果日期所在年是閏年,返回"1",否則返回"0"。
m年中的月份,有前導0,從"01"到"12"。
m年中的月份,縮略字元表示,如"jan"。
n年中的月份,無前導0,從"1"到"12"。
oiso 8601的年份數。
o當前時區與格林威治時間之間小時時差。
rrfc822格式的日期,如"wed, 1 jul 2010 18:10:10 + 1600"。
s分鐘中的秒數,有前導0,從"00"到"59"。
s日期字尾,以兩個字元表示,如"st"、"nd"、"rd"。
t月份的天數,從"28"到"31"。
t伺服器的時間區域設定,如"est"。
uunix時間戳。
w星期,數字表示,從"0"(星期日)到"6"(星期六)。
w一年的星期數。
y年份,兩位數,如"12"。
y年份,四位數,如"2012"。
z日期,數字表示,從"0"到"365"。
z與當前時區的時區差,單位為秒,從"-43200"到"43200"。
2. unix時間戳
大多數unix系統儲存當前日期和時間的方法是:儲存格林威治時間從2023年1月1日零點起到當前時刻的秒數,以32位整列表示,其中2023年1月1日零點也叫unix紀元。
雖然這是unix慣例,但是即使在windows伺服器中執行php,這個格式仍然被date()函式和許多的php其他函式使用。不同的是,對於windows,時間戳必須是正數。
將日期和時間轉變成unix時間戳,可以使用mktime()函式,原型如下:
int mktime([int hour[, int minute[, int second [, int month[, int year[, int is_dst]]]]]])
引數is_dst表示該日期所示的時間是否是夏令時,如果是,可以將其設定為1,如果不是,設定為0,如果不知道,則設定為-1(預設值)。如果對應引數為空,將預設為當前時間。因此如果獲取當前的unix時間戳,通過如下方式:
$time = mktime();
3. 時間函式
getdate()函式能夠確定當前時間,原型如下:
array getdate([int timestamp])
它以時間戳為可選引數,返回乙個相關陣列,表示日期和時間的各個部分。
相關陣列中的關鍵字-值對
關鍵字值seconds
秒鐘,數字
minutes
分鐘,數字
hours
小時,數字
mday
月份中的日期,數字
wday
星期,數字
mon月份,數字
year
年份,數字
yday
年份中的日期,數字
weekday
星期,全寫
month
月份,全寫
0時間戳,數字
可以呼叫checkdate()函式來檢驗日期是否有效,原型如下:
int checkdate(int month, int day, int year)
使用strftime()函式,可以根據系統的locale來格式化乙個時間戳,原型如下:
string strftime(string format[, int timestamp])
如果希望以更短的時間段來計量時間,必須使用microtime()函式,它將返回浮點數的時間戳,它與mktime()函式、time()函式或date()函式的返回值相同,但是還有小數部分,例如:
echo number_format(microtime(true), 10, '.', '');
PHP 日期與時間
一 設定時區 date default timezone set asia shanghai 設定時區 二 獲取當前unix時間戳 time 三 獲取指定時間的unix時間戳 mktime date default timezone set asia shanghai 設定時區 nowtime ti...
PHP日期與時間
獲取日期及時間 date string format int timestamp 說明 大寫y表示年四位數字,而小寫y表示年的兩位數字 小寫m表示月份的數字 帶前導 而小寫n則表示不帶前導的月份數字。大寫m表示月份的3個縮寫字元,而小寫m則表示月份的數字 帶前導0 沒有大寫的j,只有小寫j表示月份的...
PHP日期與時間
時間戳是自 1970 年 1 月 1 日 00 00 00 gmt 以來的秒數。它也被稱為 unix 時間戳 unix timestamp unix 時間戳 unix timestamp 或稱unix 時間 unix time posix 時間 posix time 是一種時間表示方式,定義為從格林...