(php 4, php 5, php 7)
date — 格式化乙個本地時間/日期
string date ( string$format
[, int$timestamp
] )
返回將整數timestamp
按照給定的格式字串而產生的字串。如果沒有給出時間戳則使用本地當前時間。換句話說,timestamp
是可選的,預設值為 time()。
tip自 php 5.1.1 起有幾個有用的常量可用作標準的日期/時間格式來指定format
引數。
tip自 php 5.1 起在 $_server['request_time']
中儲存了發起該請求時刻的時間戳。
note:有效的時間戳典型範圍是格林威治時間 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此範圍符合 32 位有符號整數的最小值和最大值)。不過在 php 5.1 之前此範圍在某些系統(如 windows)中限制為從 1970 年 1 月 1 日到 2038 年 1 月 19 日。
note:格式字串可以識別以下要將字串表達的時間轉換成時間戳,應該使用 strtotime()。此外一些資料庫有一些函式將其時間格式轉換成時間戳(例如 mysql 的 » unix_timestamp 函式)。
format
引數的字串
format
字元
說明返回值例子
日---
---d
月份中的第幾天,有前導零的 2 位數字
01 到 31
d星期中的第幾天,文字表示,3 個字母
mon 到 sun
j月份中的第幾天,沒有前導零
1 到 31
l(「l」的小寫字母)
星期幾,完整的文字格式
sunday 到 saturday
niso-8601 格式數字表示的星期中的第幾天(php 5.1.0 新加)
1(表示星期一)到 7(表示星期天)
s每月天數後面的英文本尾,2 個字元
st,nd,rd 或者 th。可以和 j 一起用
w星期中的第幾天,數字表示
0(表示星期天)到 6(表示星期六)
z年份中的第幾天
0 到 365
星期---
---w
iso-8601 格式年份中的第幾周,每週從星期一開始(php 4.1.0 新加的)
例如:42(當年的第 42 周)
月---
---f
月份,完整的文字格式,例如 january 或者 march
january 到 december
m數字表示的月份,有前導零
01 到 12
m三個字母縮寫表示的月份
jan 到 dec
n數字表示的月份,沒有前導零
1 到 12
t給定月份所應有的天數
28 到 31
年---
---l
是否為閏年
如果是閏年為 1,否則為 0
oiso-8601 格式年份數字。這和 y 的值相同,只除了如果 iso 的星期數(w)屬於前一年或下一年,則用那一年。(php 5.1.0 新加)
examples: 1999 or 2003
y4 位數字完整表示的年份
例如:1999 或 2003
y2 位數字表示的年份
例如:99 或 03
時間---
---a
小寫的上午和下午值
am 或 pm
a大寫的上午和下午值
am 或 pm
bswatch internet 標準時
000 到 999
g小時,12 小時格式,沒有前導零
1 到 12
g小時,24 小時格式,沒有前導零
0 到 23
h小時,12 小時格式,有前導零
01 到 12
h小時,24 小時格式,有前導零
00 到 23
i有前導零的分鐘數
00 到 59>
s秒數,有前導零
00 到 59>
u毫秒 (php 5.2.2 新加)。需要注意的是 date() 函式總是返回 000000 因為它只接受 integer 引數, 而datetime::format() 才支援毫秒。
示例: 654321
時區---
---e
時區標識(php 5.1.0 新加)
例如:utc,gmt,atlantic/azores
i是否為夏令時
如果是夏令時為 1,否則為 0
o與格林威治時間相差的小時數
例如:+0200
p與格林威治時間(gmt)的差別,小時和分鐘之間有冒號分隔(php 5.1.3 新加)
例如:+02:00
t本機所在的時區
例如:est,mdt(【譯者注】在 windows 下為完整文字格式,例如「eastern standard time」,中文版會顯示「中國標準時間」)。
z時差偏移量的秒數。utc 西邊的時區偏移量總是負的,utc 東邊的時區偏移量總是正的。
-43200 到 43200
完整的日期/時間
------
ciso 8601 格式的日期(php 5 新加)
2004-02-12t15:19:21+00:00
rrfc 822 格式的日期
例如:thu, 21 dec 2000 16:01:07 +0200
u從 unix 紀元(january 1 1970 00:00:00 gmt)開始至今的秒數
參見 time()
格式字串中不能被識別的字元將原樣顯示。z 格式在使用 gmdate() 時總是返回 0。
php中的日期和時間主要是靠 date() 函式來獲取並格式化的,雖說這東西使用頻率非常高,但有時也會忘記或搞混,故現小結如下...
1、年y(2010):大寫y表示年四位數字
y(10) :小寫y表示年的兩位數字
2、月f(january):大寫f表示月份的英文全寫(沒有小寫f)
m(jan) :大寫m表示月份的3個縮寫字元
m(01-12) :小寫m表示月份的數字,帶前導
n(1-12) :小寫n表示月份的數字,無前導
3、日j(1-31) :小寫j表示月份的日期,無前導(沒有大寫的j)
d(01-31) :小寫d表示月份的日期,有前導(沒有大寫d)
s(st、nd、rd、th):大寫s表示日期的字尾,具體看日期數字為何
4、例項
y-m-j(2007-02-6 )
y-n-j(07-2-6)
y-m-j(2007-feb-6)
y-m-d(2007-02-06)
y-f-js(2007-february-6th)
1、時g(1-12):小寫g表示12小時制的小時數,無前導0
h(01-12):小寫h表示12小時制的小時數,有前導0
g(0-23):大寫g表示24小時制的小時數,無前導0
h(01-23):大寫的h表示24小時制的小時數,有前導0
a 表示小寫的"am"和"pm"(上午、下午)
a 表示大寫的"am"和"pm"
2、分:秒
預設情況下,php解釋顯示的時間為"格林威治標準時間",與我們本地的時間相差8個小時。
i(1-60):小寫i表示分
s(1-60):小寫s表示秒
3、例項
g:i:s a(5:56:57 am)
h:i:s a(05:56:57 am)
g:i:s(14:02:26)
大寫l表示判斷今年是否閏年,布林值,為真返回1,否則為0
小寫w表示星期幾,數字形式表示
大寫w表示一年中的星期數
小寫t表示當前月份有多少天
小寫z表示今天是本年中第幾天
大寫t表示伺服器的時間區域設定,如值為utc
大寫i表示判斷當前是否為夏令時,為真返回1,否則為0
大寫u表示從2023年1月1日到現在的總秒數,就是unix時間紀元的unix時間戳。
小寫c表示iso8601日期,日期格式為yyyy-mm-dd,用字母t來間隔日期和時間,時間格式為hh:mm:ss,時區使用格林威治標準時間(gmt)的偏差來表示,如值為2007-02-06t14:24:43+00:00
小寫r表示rfc822日期,如值為tue, 06 feb 2007 14:25:52 +0000頂0
php中的日期和時間
1 checkdate函式驗證日期的正確性 程式開發過程中,在需要設計填寫日期和時間的模組中,有時會因為錄入失誤而產生錯誤。為了避免這些類的問題出現,在設計時就要對日期進行檢驗,就是利用checkdate函式。bool checkdata int month,int day,int year 如果檢...
php中如何輸出時間 PHP的日期和時間
標籤 unix時間戳 從 unix 紀元 格林威治時間 1970 年 1 月1日 00 00 00 到當前時間的秒數 time 函式返回乙個當前系統的時間戳 mktime 取得乙個日期的 unix 時間戳 1 格式 int mktime 時 分 秒 月 日 年 is dst區 2 注意 is dst...
php時間和日期
時區設定 php中日期和時間的預設設定是 gmt格林尼治,在使用日期和時間是需要對時區進行設定 設定方法 1 修改php.ini檔案的設定。將 date.timezone 選項開啟並設定為 asia hong kong 2 在應用程式中直接使用函式date default timezone set ...