在PHP中,可以使用date()函數來取得目前日期和星期幾。只要將date()函數的第二個參數省略,第一個參數設定為「Y-m-d H:i:s」即可取得目前日期,語法「date("Y-m-d H:i:s")」;而當第一個參數設定為「N」時則可取得是星期幾,語法「date("N")」。 「N」可回到ISO-8601格式數字表示的星期中的第幾天,範圍1(表示星期一)到7(表示星期日)。
本教學操作環境:windows7系統、PHP8版、DELL G3電腦
在PHP中,可以使用date()函數來取得當前日期和星期幾。
date()函數可以取得目前時間戳,並把該時間戳格式化為可讀性較好的日期和時間,設定是月份、天數、星期幾也可提取出來。
下面一起來了解date()函數,其語法格式為:
date(format,timestamp);
format 必要。規定時間戳記的格式。
timestamp 可選。規定時間戳。預設是當前的日期和時間。
說明:參數format用於指定格式化字符,並設定轉換成的日期格式。 主要是透過format參數來格式化時間戳,取得目前日期和星期幾。
範例1:使用date()函數取得目前日期
<?php header("content-type:text/html;charset=utf-8"); date_default_timezone_set("PRC");//设置时区 echo "当前时间为:"; $today = date("Y-m-d H:i:s"); echo $today; ?>
使用date()函數可以設定各種輸出日期的格式,範例:
<?php header("content-type:text/html;charset=utf-8"); date_default_timezone_set("PRC");//设置时区 echo date("Y/m/d H:i:s") . "<br>"; echo date("y/m/d H:i:s") . "<br><br>"; echo date("Y-m-d H:i:s") . "<br>"; echo date("y-m-d H:i:s") . "<br><br>"; echo date("Y.m.d H:i:s") . "<br>"; echo date("y.m.d H:i:s") . "<br><br>"; ?>
範例2:使用date()函數取得目前星期幾
<?php header("content-type:text/html;charset=utf-8"); date_default_timezone_set("PRC");//设置时区 echo "今天是星期 ".date("N"); ?>
看看行事曆對不對?
說明:date()可以格式化時間,配合格式化字元「N」取得星期日數
N:傳回ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加),範圍1(表示星期一)到 7(表示星期日)
##擴充知識:參數format可設定的格式化字元
#
format 字元 |
說明 | 傳回值範例 |
---|---|---|
#日 | ##------ | |
d | #月份中的第幾天,有前導零的2 位數字01 到31 | |
#D | 星期中的第幾天,文字表示,3 個字母Mon 到Sun | |
j | 月份中的第幾天,沒有前導零1 到31 | |
( "L"的小寫字母)星期幾,完整的文字格式 | ##Sunday | 到Saturday |
ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) | ##1# (表示星期一)到 | 7(表示星期日) | #S
每月天數後面的英文後綴, 2 個字元 | st, | nd,rd 或 th。可以和j 一起用 | w
星期中的第幾天,數字表示 | 0(表示星期日)到 | 6(表示星期六) | z
在年份中的第幾天 | 0到 | 365|
## --- | --- | |
#ISO-8601 格式年份中的第幾週,每週從星期一開始(PHP 4.1.0 新加的) | 例如: | 42(當年的第42 週) |
--- | --- | |
月份,完整的文字格式,例如January 或March | January | 到December |
#數字表示的月份,有前導零 | 01 | 到12 |
三個字母縮寫表示的月份 | Jan | 到Dec |
數字表示的月份,沒有前導零 | 1 | 到12 |
給定月份所應有的天數 | #28 | 到31 |
--- | --- | |
#是否為閏年 | 如果是閏年為 | 1,否則為0 |
ISO-8601 格式年份數字。這和 | Y的值相同,只有如果 ISO 的星期數(W)屬於前一年或下一年,則以那一年。 (PHP 5.1.0 新加)Examples: | 1999或 2003 |
4 位元數字完整表示的年份 | 例如: | 1999或2003 |
2 位元數字表示的年份 | 例如:99 | 或03 |
--- | ---||
小寫的上午和下午值 | am | 或pm |
大寫的上午和下午值 | AM | 或PM |
Swatch Internet 標準時 | 000 | 到999 | ##g
#小時,12 小時格式,沒有前導零 | 1 | 到12 |
小時,24 小時格式,沒有前導零 | 0 | 到23 |
小時,12 小時格式,有前導零 | 01 | 到12 |
#小時,24 小時格式,有前導零 | 00 | 到23 |
有前導零的分鐘數 | #00 | 到59> |
秒數,有前導零 | 00 到59>u###毫秒(PHP 5.2.2 新加)。要注意的是 ######date()###### 函數總是回傳 ###000000### 參數, 而 ###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 |
完整的日期/时间 | --- | --- |
c | ISO 8601 格式的日期(PHP 5 新加) | 2004-02-12T15:19:21+00:00 |
r | RFC 822 格式的日期 | 例如:Thu, 21 Dec 2000 16:01:07 +0200 |
U | 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 | 参见 time() |
注:format的大小写的区分非常重要
<?php var_dump(date('Y-m-d H:i:s', 1616496304)); //H 24小时制 2021-03-23 18:45:04 var_dump(date('Y-m-d h:i:s', 1616496304)); //h 12小时制 2021-03-23 06:45:04 ?>
推荐学习:《PHP视频教程》
以上是php怎麼取得目前日期和星期幾的詳細內容。更多資訊請關注PHP中文網其他相關文章!