PHP中的日期和時間

2022-05-17 21:38:38 字數 4328 閱讀 9530

(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 ...