(PHP 5, PHP 7, PHP 8)
idate — 將本地時間/日期部分格式化為整數
根據給定的格式字串,使用指定的整數 timestamp
或目前本地時間(如果未提供時間戳)來格式化並返回一個數字。換句話說,timestamp
是可選的,預設值為 time() 的返回值。
與 date() 函式不同,idate() 只接受 format
參數中的一個字元。
format
format 字元 |
說明 |
---|---|
B |
Swatch Beat/網路時間 |
d |
月份中的日期 |
h |
小時(12 小時制) |
H |
小時(24 小時制) |
i |
分鐘 |
I (大寫 i) |
如果啟用日光節約時間,則返回 1 ,否則返回 0 |
L (大寫 l) |
閏年返回 1 ,否則返回 0 |
m |
月份數字 |
N |
ISO-8601 格式的星期幾(1 代表星期一,7 代表星期日) |
o |
ISO-8601 格式的年份(4 位數) |
s |
秒數 |
t |
目前月份的天數 |
U |
自 Unix 紀元(1970 年 1 月 1 日 00:00:00 UTC)以來的秒數 - 這與 time() 相同 |
w |
星期幾(星期日為 0 ) |
W |
一年中的 ISO-8601 格式的週數,星期一為一週的開始 |
y |
年份(1 或 2 位數 - 請參考以下注意事項) |
Y |
年份(4 位數) |
z |
一年中的第幾天 |
Z |
時區偏移量(以秒為單位) |
timestamp
可選的 timestamp
參數是一個 int 類型的 Unix 時間戳,如果省略 timestamp
或其值為 null
,則預設為目前的本地時間。換句話說,它預設為 time() 的返回值。
由於 idate() 總是返回一個 int 值,而且整數不能以 "0" 開頭,因此 idate() 返回的位數可能比預期少。請參考以下範例。
如果時區無效,每次呼叫日期/時間函式都會產生 E_WARNING
錯誤。另請參閱 date_default_timezone_set()
版本 | 說明 |
---|---|
8.2.0 | 新增了 N (ISO-8601 格式的星期幾)和 o (ISO-8601 格式的年份)格式字元。 |
8.0.0 |
timestamp 現在可以為 null。 |
範例 #1 idate() 範例
<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// 這個會以兩位數格式印出年份
// 然而,因為會以 "0" 開頭,所以
// 只會印出 "4"
echo idate('y', $timestamp);
?>