首頁  >  文章  >  後端開發  >  php中取得目前時間的函數

php中取得目前時間的函數

angryTom
angryTom原創
2019-08-23 15:56:137246瀏覽

php中取得目前時間的函數

在寫程式的時候,我們常常會需要取得系統目前時間。下面我們就來為大家介紹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(&#39;Asia/Shanghai&#39;);
    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(&#39;Asia/Shanghai&#39;);

    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 - 自秒(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)

#]]]_32:01 - 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 1036 - RFC 1036(例如:Fri, 12 Apr 13 105:001) ####  ●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 4]萬維網聯盟(例如:2013-04-12T15:52:01 00:00)###

以上是php中取得目前時間的函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn