php怎麼獲取當前日期和星期幾

2023-01-07 18:00:33

在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; 
?>
登入後複製

1.png

使用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.png

範例2:使用date()函數獲取當前星期幾

<?php 
header("content-type:text/html;charset=utf-8"); 
date_default_timezone_set("PRC");//設定時區
echo "今天是星期 ".date("N");
?>
登入後複製

3.png

看看日曆對不對?

4.png

說明:date()可以格式化時間,配合格式化字元「N」獲取星期天數

  • N:返回ISO-8601 格式數位表示的星期中的第幾天(PHP 5.1.0 新加),範圍 1(表示星期一)到 7(表示星期天)

擴充套件知識:引數format可設定的格式化字元

格式字串可以識別以下 format 引數的字串
format 字元說明返回值例子
------
d月份中的第幾天,有前導零的 2 位數位0131
D星期中的第幾天,文字表示,3 個字母MonSun
j月份中的第幾天,沒有前導零131
l("L"的小寫字母)星期幾,完整的文字格式SundaySaturday
NISO-8601 格式數位表示的星期中的第幾天(PHP 5.1.0 新加)1(表示星期一)到 7(表示星期天)
S每月天數後面的英文字尾,2 個字元stndrd 或者 th。可以和 j 一起用
w星期中的第幾天,數位表示0(表示星期天)到 6(表示星期六)
z年份中的第幾天0365
星期------
WISO-8601 格式年份中的第幾周,每週從星期一開始(PHP 4.1.0 新加的)例如:42(當年的第 42 周)
------
F月份,完整的文字格式,例如 January 或者 MarchJanuaryDecember
m數位表示的月份,有前導零0112
M三個字母縮寫表示的月份JanDec
n數位表示的月份,沒有前導零112
t給定月份所應有的天數2831
------
L是否為閏年如果是閏年為 1,否則為 0
oISO-8601 格式年份數位。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加)Examples: 1999 or 2003
Y4 位數位完整表示的年份例如:19992003
y2 位數位表示的年份例如:9903
時間------
a小寫的上午和下午值ampm
A大寫的上午和下午值AMPM
BSwatch Internet 標準時000999
g小時,12 小時格式,沒有前導零112
G小時,24 小時格式,沒有前導零023
h小時,12 小時格式,有前導零0112
H小時,24 小時格式,有前導零0023
i有前導零的分鐘數0059>
s秒數,有前導零0059>
u毫秒 (PHP 5.2.2 新加)。需要注意的是 date() 函數總是返回 000000 因為它只接受 integer 引數, 而 DateTime::format() 才支援毫秒。範例: 654321
時區------
e時區標識(PHP 5.1.0 新加)例如:UTCGMTAtlantic/Azores
I是否為夏令時如果是夏令時為 1,否則為 0
O與格林威治時間相差的小時數例如:+0200
P與格林威治時間(GMT)的差別,小時和分鐘之間有冒號分隔(PHP 5.1.3 新加)例如:+02:00
T本機所在的時區例如:ESTMDT(【譯者注】在 Windows 下為完整文字格式,例如"Eastern Standard Time",中文版會顯示"中國標準時間")。
Z時差偏移量的秒數。UTC 西邊的時區偏移量總是負的,UTC 東邊的時區偏移量總是正的。-4320043200
完整的日期/時間------
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()

注: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怎麼獲取當前日期和星期幾的詳細內容,更多請關注TW511.COM其它相關文章!