您好,登錄后才能下訂單哦!
小編給大家分享一下php中如何獲取當前時間的函數,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
在編寫程序的時候,我們經常會需要獲取系統當前時間。下面我們就為大家介紹一下PHP獲取當前時間的函數。
1、獲取當前日期時間字符串:
date("Y-m-d H:i:s"); // 2017-12-14 23:13:51
2、獲取當前時間戳:
time(); // 1513264258
3、獲取某個時間戳對應的日期字符串:
date("Y-m-d H:i:s",1513264258); // 2017-12-14 23:13:51
4、獲取某個日期的時間戳
strtotime('2017-12-14 23:13:51'); // 1513264258
在獲取時間有時會碰到時間錯誤,獲取到的時間與實際時間不一樣,這個的原因可能就是因為時區設置錯誤了。這種情況有兩種解決辦法。
1、在php.ini中找到date.timezone,將它的值改成 Asia/Shanghai,即 date.timezone = Asia/Shanghai
2、在程序開始時添加 date_default_timezone_set(‘Asia/Shanghai’)即可。
date()、time()、strtotime() 函數的具體使用方法
date()函數
語法
date(format,timestamp);
定義和用法
date()函數帶有兩個參數,第一個是格式字符串,第二個(可選)是UNIX時間戳。如果沒有指定時間戳,在默認的情況下,date()函數將返回當前的日期和時間。有則返回時間戳對應的格式化日期字符串。
例子:
<?php header("Content-type: text/html; charset=utf-8"); //將時區設置為上海時間 date_default_timezone_set('Asia/Shanghai'); echo date("Y-m-d H:i:s");
time()函數
語法:
time();
定義和用法
time() 函數返回自 Unix 紀元(January 1 1970 00:00:00 GMT)起的當前時間的秒數(時間戳)。
strtotime() 函數
語法:
strtotime(time,now);
定義和用法
strtotime() 函數將任何英文文本的日期或時間描述解析為 Unix 時間戳(自 January 1 1970 00:00:00 GMT 起的秒數)。
注意:如果年份表示使用兩位數格式,則值 0-69 會映射為 2000-2069,值 70-100 會映射為 1970-2000。
注意:請注意 m/d/y 或 d-m-y 格式的日期,如果分隔符是斜線(/),則使用美洲的 m/d/y 格式。如果分隔符是橫杠(-)或者點(.),則使用歐洲的 d-m-y 格式。為了避免潛在的錯誤,您應該盡可能使用 YYYY-MM-DD 格式或者使用 date_create_from_format() 函數。
例子:
<?php header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('Asia/Shanghai'); echo(strtotime("now") . "<br>"); echo(strtotime("15 October 2019") . "<br>"); echo(strtotime("+5 hours") . "<br>"); echo(strtotime("+1 week") . "<br>"); echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>"); echo(strtotime("next Monday") . "<br>"); echo(strtotime("last Sunday")); echo(strtotime("2011-11-11 11:11:11"));
如下字符表示date()函數的規定輸出日期字符串的格式:
●d - 一個月中的第幾天(從 01 到 31)
●D - 星期幾的文本表示(用三個字母表示)
●j - 一個月中的第幾天,不帶前導零(1 到 31)
●l(’L’ 的小寫形式)- 星期幾的完整的文本表示
●N - 星期幾的 ISO-8601 數字格式表示(1表示Monday[星期一],7表示Sunday[星期日])
●S - 一個月中的第幾天的英語序數后綴(2 個字符:st、nd、rd 或 th。與 j 搭配使用)
●w - 星期幾的數字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六])
●z - 一年中的第幾天(從 0 到 365)
●W - 用 ISO-8601 數字格式表示一年中的星期數字(每周從 Monday[星期一]開始)
●F - 月份的完整的文本表示(January[一月份] 到 December[十二月份])
●m - 月份的數字表示(從 01 到 12)
●M - 月份的短文本表示(用三個字母表示)
●n - 月份的數字表示,不帶前導零(1 到 12)
●t - 給定月份中包含的天數
●L - 是否是閏年(如果是閏年則為 1,否則為 0)
o - ISO-8601 標準下的年份數字
●Y - 年份的四位數表示
●y - 年份的兩位數表示
●a - 小寫形式表示:am 或 pm
●A - 大寫形式表示:AM 或 PM
●B - Swatch Internet Time(000 到 999)
●g - 12 小時制,不帶前導零(1 到 12)
●G - 24 小時制,不帶前導零(0 到 23)
●h - 12 小時制,帶前導零(01 到 12)
●H - 24 小時制,帶前導零(00 到 23)
●i - 分,帶前導零(00 到 59)
●s - 秒,帶前導零(00 到 59)
●u - 微秒(PHP 5.2.2 中新增的)
●e - 時區標識符(例如:UTC、GMT、Atlantic/Azores)
●I(i 的大寫形式)- 日期是否是在夏令時(如果是夏令時則為 1,否則為 0)
●O - 格林威治時間(GMT)的差值,單位是小時(實例:+0100)
●P - 格林威治時間(GMT)的差值,單位是 hours:minutes(PHP 5.1.3 中新增的)
●T - 時區的簡寫(實例:EST、MDT)
●Z - 以秒為單位的時區偏移量。UTC 以西時區的偏移量為負數(-43200 到 50400)
●c - ISO-8601 標準的日期(例如 2013-05-05T16:34:42+00:00)
●r - RFC 2822 格式的日期(例如 Fri, 12 Apr 2013 12:01:05 +0200)
●U - 自 Unix 紀元(January 1 1970 00:00:00 GMT)以來經過的秒數
同時,也可使用下列預定義常量(從 PHP 5.1.0 開始可用):
●DATE_ATOM - Atom(例如:2013-04-12T15:52:01+00:00)
●DATE_COOKIE - HTTP Cookies(例如:Friday, 12-Apr-13 15:52:01 UTC)
●DATE_ISO8601 - ISO-8601(例如:2013-04-12T15:52:01+0000)
●DATE_RFC822 - RFC 822(例如:Fri, 12 Apr 13 15:52:01 +0000)
●DATE_RFC850 - RFC 850(例如:Friday, 12-Apr-13 15:52:01 UTC)
●DATE_RFC1036 - RFC 1036(例如:Fri, 12 Apr 13 15:52:01 +0000)
●DATE_RFC1123 - RFC 1123(例如:Fri, 12 Apr 2013 15:52:01 +0000)
●DATE_RFC2822 - RFC 2822(Fri, 12 Apr 2013 15:52:01 +0000)
●DATE_RFC3339 - 與 DATE_ATOM 相同(從 PHP 5.1.3 開始)
●DATE_RSS - RSS(Fri, 12 Aug 2013 15:52:01 +0000)
●DATE_W3C - 萬維網聯盟(例如:2013-04-12T15:52:01+00:00)
看完了這篇文章,相信你對php中如何獲取當前時間的函數有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。