PHP獲取當前時間、年份、月份、日期和天數
- 2019 年 11 月 13 日
- 筆記
獲取當前時間,需要用到 PHP Date() 函數。
PHP Date()
把時間戳格式化為更易讀的日期和時間。
語法:
date(format,timestamp)
其中參數 format
為顯示格式,參數 timestamp
為時間戳,是可選擇的,默認為 time()
,即如果沒有給出時間戳則使用本地當前時間。
format
格式參數在這裡簡單介紹幾個:
一些常用於日期的字元:
Y – 完整表示年份(四位數字:2019)
y – 表示年份(兩位數字:19)
F – 表示月份(完整的文本格式: January 或者 March)
M – 表示月份(3個字母:Jun)
m – 表示月份,有前導0(數字:04)
n – 表示月份,無前導0(數字:4)
d – 表示月份中的第幾天,有前導0(01-31)
j – 表示月份中的第幾天,無前導0(1-31)
D – 表示星期幾(3字母:Wed)
l – 表示星期幾(完整英文:Wednesday)
w – 表示星期中的第幾天(數字,0表示星期天)
W – 表示一年中的第幾周
z – 表示一年中的第幾天(0-366)
實例:
<?php echo "<p>今天是:" . date("Y/m/d") . "</p>"; echo "<p>今天是:" . date("Y.m.d") . "</p>"; echo "<p>今天是:" . date("Y-m-d") . "</p>"; echo "<p>今天是:" . date("l") . "</p>"; ?>
運行結果:
如果想要中文的年月日,可以這樣寫:
echo "現在時間是:" . date("Y年m月d日");
運行結果:
今天是:2019年04月24日
獲得簡單的時間:
常用於時間的字元:
H – 24小時格式,有前導0(08,18)
h – 12小時格式,有前導0(06,11)
G – 24小時格式,無前導0(9,17)
g – 12小時格式,無前導0(6,12)
i – 表示分鐘,有前導0(00-59)
s – 表示秒,有前導0(00 -59)
A – 大寫的午前和午後(AM 或 PM)
a – 小寫的午前和午後(am 或 pm)
I – 判斷是否為夏令時
實例:
<?php echo "現在時間是:" . date("h:i:sa"); ?>
運行結果:
獲得時區:
如果需要基於具體位置的準確時間,可以設置要用的時區。
下面是把時區設置為 "Asia/Shanghai",然後以指定格式輸出當前時間:
實例:
<?php date_default_timezone_set("Asia/Shanghai"); echo "當前時間是:" . date("h:i:sa"); ?>
getdate:獲取日期資訊
通過 getdate()
函數可以獲取日期資訊,而該函數返回值為一個數組,其中包括指定的日期和時間資訊。如果沒有給出時間戳,則輸出的是本地當前的日期和時間。 聲明如下:
array getdate(int timestamp);
<?php print_r(getdate()); ?>
checkdate:檢驗日期的有效性
程式開發過程中,在需要設計填寫日期和時間的模組中,有時會因為錄入失誤,而產生錯誤。為了避免些類問題的出現,在設計時就要對日期進行檢驗,就是利用 checkdate
函數。聲明如下:
bool checkdata(int month,int day,int year);
如果檢驗有效,返回 true
,否則返回 false
。month
的有效值在1-12,day
在給定的月之內,包括閏年,year
的值在 1-32767 之間。
<?php echo checkdate(6, 25, 2017);//1 ?>
time:獲取當前時間戳
獲取當前時間戳通過 time()
函數來實現。聲明如下:
int time(); <?php echo time();//獲取當前時間的時間戳 ?>
通過 PHP mktime() 創建日期
date()
函數中可選的時間戳參數規定時間戳。
mktime()
函數返回日期的 Unix 時間戳。Unix 時間戳包含 Unix 紀元(1970 年 1 月 1 日 00:00:00 GMT)與指定時間之間的秒數。
語法:
mktime(hour,minute,second,month,day,year)
使用 mktime()
函數中的一系列參數來創建日期和時間:
實例:
<?php $d=mktime(9, 12, 31, 6, 10, 2015); echo "創建日期是:" . date("Y-m-d h:i:sa", $d); ?>
運行結果:
創建日期是:2015-06-10 09:12:31AM
通過 PHP strtotime() 用字元串來創建日期
PHP strtotime()
函數用於把人類可讀的字元串轉換為 Unix 時間。
語法:
strtotime(time,now)
通過 strtotime()
函數創建日期和時間:
實例:
<?php $d=strtotime("10:38pm April 15 2015"); echo "創建日期是 " . date("Y-m-d h:i:sa", $d); ?>
PHP 在將字元串轉換為日期這方面非常聰明,所以您能夠使用各種值:
實例:
<?php $d=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("next Saturday"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $d) . "<br>"; ?>
運行結果:
2019-04-25 12:00:00am 2019-04-27 12:00:00am 2019-07-24 05:53:08pm
不過,strtotime()
並不完美,所以請記得檢查放入其中的字元串。
更多日期實例
輸出下周六的日期:
實例:
<?php $startdate = strtotime("Saturday"); $enddate = strtotime("+6 weeks",$startdate); while ($startdate < $enddate) { echo date("M d", $startdate),"<br>"; $startdate = strtotime("+1 week", $startdate); } ?>
輸出七月四日之前的天數:
實例:
<?php $d1=strtotime("December 31"); $d2=ceil(($d1-time())/60/60/24); echo "距離十二月三十一日還有:" . $d2 ." 天。"; ?>
網站自動版權年份
使用 date() 函數在您的網站上自動更新版本年份:
實例:
© 2010-<?php echo date("Y")?>
聲明:本文由w3h5原創,轉載請註明出處:《PHP獲取當前時間、年份、月份、日期和天數》 https://www.w3h5.com/post/268.html