我們在前面講解使用date()函數擷取當前日期和時間的時候已經瞭解過date()函數的文法了,我們這裡重點講解date()函數的參數format的格式化選項。
參數format的格式化選項如下表:
| format參數 |
說明 |
| a |
小寫上午值和下午值,傳回值am或pm |
| A |
大寫的上午值和下午值,傳回值am或pm |
| B |
Swatch Internet標準時間,傳回值(000 到 999) |
| d |
一個月中的第幾天,有前置0的兩位元字(從 01 到 31) |
| D |
星期中的第幾天,文字格式設定,3個字母,傳回值Mon~Sun |
| F |
月份,完整的文字格式設定,傳回值January~December |
| h |
小時,12小時格式,沒有前置字元為零,傳回值1~12 |
| H |
小時,24小時格式,沒有前置字元為零,傳回值0~23 |
| i |
有前置字元為零的分鐘數,傳回值0~59 |
| I |
判斷是否為夏令時,傳回值如果是夏令時為1,否則為0 |
| j |
月份中的第幾天,沒有前置字元為零,傳回值1~31 |
| l(L的小寫) |
星期數,完整的文字格式設定,傳回值Sunday~Saturday |
| L |
判斷是否為潤年,傳回值如果是閏年為1,否則為0 |
| m |
數字表示的月份,有前置0,傳回值為01~12 |
| M |
3個字母縮寫表示的月份,傳回值Jan~Dec |
| n |
數字表示的月份,沒有前置字元為零,傳回值1~12 |
| O |
與格林威治時間相差的小時數,如+0200 |
| r |
RFC822格式的日期,如Thu,21Dec 2000 16:01:07+0200 |
| s |
秒數,有前置字元為零,傳回值00~59 |
| S |
每月天數後面的英文尾碼,兩個字元,如st,nd,rd或者th,可以和j一起使用 |
| t |
指定月份所應有的天數,28~31 |
| T |
本機所在的時區 |
| U |
從Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數 |
| w |
星期中的第幾天,數字表示,傳回值0~6
|
| W |
IOS-8601格式年份中的第幾周,每周從星期一開始 |
| y |
兩位元字表示的年份,傳回值如88或08 |
Y
|
4位完整數字表示的年份,傳回值如 2017,2018 |
| z |
年份中的第幾天,傳回值0~366 |
| Z |
以秒為單位的時區位移量。UTC 以西時區的位移量為負數(-43200 到 50400) |
執行個體
date()函數可以對format選項隨意地組合。在本例中,既有單獨輸出一個參數的情況,也有輸出多個參數的情況,最好還輸出逸出字元,執行個體代碼如下:
<?phpheader("Content-type:text/html;charset=utf-8"); //設定編碼echo "輸出單個變數:".date("Y")."-".date("m")."-".date("d")."<br/>";echo "輸出組合變數".date("Y-m-d")."<br/>";echo "輸出更詳細的日期和時間".date("Y-m-d H:i:s")."<br/>";echo "還可以更詳細".date("l Y-m-d H:i:s T")."<br/>";echo "輸出逸出字元:".date("\T\o\d\a\y \i\s \\t\h\e jS \o\f \y\\e\a\\r");?>
運行結果如:
上面就是我們對date()函數format參數的格式化執行個體,下一節,我們講解“將日期和時間解析為UNIX”時間戳記。