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 ,否則返回 falsemonth 的有效值在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

Exit mobile version