PHP Date

date(format,timestamp) 格式化本地日期和時間。php

format

必需。規定輸出日期字符串的格式。可以使用下列字符:git

  • 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)
timestamp 可選。規定整數的 Unix 時間

格式化本地日期和時間,並返回已格式化的日期字符串。數組

echo date("l") . " ";
echo date("l jS \of F Y h:i:s A");
//Thursday   Thursday 7th of September 2017 11:41:34 PM

time()    返回當前時間的 Unix 時間戳。ide

返回自 Unix 紀元(January 1 1970 00:00:00 GMT)起的當前時間的秒數。函數

strtotime(time,now)    將任何英文文本的日期或時間描述解析爲 Unix 時間戳。spa

time 必需。規定日期/時間字符串。
now 可選。規定用來計算返回值的時間戳。若是省略該參數,則使用當前時間。

將任何英文文本的日期或時間描述解析爲 Unix 時間戳(自 January 1 1970 00:00:00 GMT 起的秒數)。.net

若是年份表示使用兩位數格式,則值 0-69 會映射爲 2000-2069,值 70-100 會映射爲 1970-2000。unix

請注意 m/d/y 或 d-m-y 格式的日期,若是分隔符是斜線(/),則使用美洲的 m/d/y 格式。若是分隔符是橫槓(-)或者點(.),則使用歐洲的 d-m-y 格式。爲了不潛在的錯誤,您應該儘量使用 YYYY-MM-DD 格式或者使用 date_create_from_format() 函數。code

strtotime("now");
strtotime("5 September 2016");
strtotime("+5 hours");
strtotime("-1 day");
strtotime("+1 week");
strtotime("+1 week 3 days 7 hours 5 seconds");
strtotime("next Monday");
strtotime("last Sunday");

getdate(timestamp)    返回某個時間戳或者當前本地的日期/時間的日期/時間信息。

timestamp 可選。規定 Unix 時間戳,整數值。默認爲當前本地時間(time())。

返回帶有與時間戳相關的信息的關聯數組:

  • [seconds] - 秒
  • [minutes] - 分
  • [hours] - 小時
  • [mday] - 一個月中的第幾天
  • [wday] - 一週中的某天
  • [mon] - 月
  • [year] - 年
  • [yday] - 一年中的某天
  • [weekday] - 星期幾的名稱
  • [month] - 月份的名稱
  • [0] - 自 Unix 紀元以來通過的秒數
print_r(getdate());
//Array ( [seconds] => 2 [minutes] => 14 [hours] => 0 [mday] => 10 [wday] => 0 [mon] => 9 [year] => 2017 [yday] => 252 [weekday] => Sunday [month] => September [0] => 1504973642 )

gettimeofday(return_float)    返回當前時間。

return_float 可選。當設置爲 TRUE 時,返回浮點數,而不是數組。默認是 FALSE。

默認返回關聯數組,帶有以下數組鍵名:

  • [sec] - Unix 紀元以來的秒
  • [usec] - 微秒
  • [minuteswest] - 格林尼治以西的分
  • [dsttime] - 夏令時修正類型

若是 return_float 參數設置爲 true,則返回浮點數。

// 輸出 gettimeofday() 返回的數組
print_r(gettimeofday());
echo "<br><br>";
// 輸出 gettimeofday() 返回的浮點數
echo gettimeofday(true) . "<br><br>";
// 返回當前時間;而後對輸出進行格式化
$mytime=gettimeofday();
echo "$mytime[sec].$mytime[usec]";
//Array ( [sec] => 1504973755 [usec] => 93250 [minuteswest] => -480 [dsttime] => 0 ) 
//1504973755.0933
//1504973755.93250

 

date_diff(datetime1,datetime2,absolute)    返回兩個日期間的差值。

datetime1 必需。規定 DateTime 對象。
datetime2 必需。規定 DateTime 對象。
absolute 可選。規定布爾值。TRUE 表示間隔/差值必須是正的。默認是 FALSE。
$date1=date_create("1984-01-28");
$date2=date_create("1980-10-15");
$diff=date_diff($date1,$date2);
echo $diff->format("%R%a days");
//-1200 days

checkdate(month,day,year)    驗證格利高裏日期。

month 必需。規定月,從 1 到 12 的數字值。
day 必需。規定日,從 1 到 31 的數字值。
year 必需。規定年,從 1 到 32767 的數字值。

用於驗證格利高裏日期(Gregorian date)。

var_dump(checkdate(12,31,-400));
echo "<br>";
var_dump(checkdate(2,29,2003));
echo "<br>";
var_dump(checkdate(2,29,2004));
// false  false true

date_create(time,timezone)    返回新的 DateTime 對象

time 可選。規定日期/時間字符串。NULL 指示當前的日期/時間。
timezone

可選。規定 time 的時區。默認是當前時區。

date_create_from_format(format,time,timezone)返回根據指定格式進行格式化的新的 DateTime 對象。

ormat

必需。規定要使用的格式。format 參數字符串可使用下列的字符:

  • d - 一個月中的第幾天,帶前導零
  • j - 一個月中的第幾天,不帶前導零
  • D - 一週中的某天(Mon - Sun)
  • I - 一週中的某天(Monday - Sunday)
  • S - 一個月中的第幾天的英語後綴(st, nd, rd, th)
  • F - 月份名稱(January - December)
  • M - 月份名稱(Jan - Dec)
  • m - 月份(01 - 12)
  • n - 月份(1 - 12)
  • Y - 年份(例如 2013)
  • y - 年份(例如 13)
  • a 和 A - am 或 pm
  • g - 12 小時制,不帶前導零
  • h - 12 小時制,帶前導零
  • G - 24 小時制,不帶前導零
  • H - 24 小時制,帶前導零
  • i - 分,帶前導零
  • s - 秒,帶前導零
  • u - 微秒(多達六個數字)
  • e、O、P 和 T - 時區標識符
  • U - 自 Unix 紀元以來通過的秒數
  • (空格)
  • # - 下列分隔符之一:;、:、/、.、,、-、(、)
  • ? - 一個隨機字節
  • * - 隨機字節直到下一個分隔/數字
  • ! - 重置全部字段到 Unix 紀元
  • | - 若是全部字段都還沒被解析,則重置全部字段到 Unix 紀元
  • + - 若是存在,字符串中的尾隨數據將致使警告,不是錯誤
time 必需。規定日期/時間字符串。NULL 指示當前的日期/時間。
timezone 可選。規定 time 的時區。默認爲當前時區。

date_interval_create_from_date_string()    從字符串的相關部分創建 DateInterval。

$date=date_create("2016-09-25");
echo date_format($date,"Y/m/d");
//2016/09/25

$date=date_create_from_format("j-M-Y","25-Sep-2016");
echo date_format($date,"Y/m/d");
//2016/09/25

date_format(object,format)    返回根據指定格式進行格式化的日期。

object 必需。規定由 date_create() 返回的 DateTime 對象。
format 必需。規定日期的格式。

date_interval_format(format)    格式化時間間隔。 DateInterval::format() 的別名。

format

必需。規定格式。format 參數字符串可使用下列的字符:

  • % - Literal %
  • Y - 年,至少 2 個數字,帶前導零(例如 03)
  • y - 年(例如 3)
  • M - 月,帶前導零(例如 06)
  • m - 月(例如 6)
  • D - 日,帶前導零(例如 09)
  • d - 日(例如 9)
  • a - 由 date_diff() 得出的兩個日期間隔的總天數
  • H - 小時,帶前導零(例如 0八、23)
  • h - 小時(例如 八、23)
  • I - 分,帶前導零(例如 0八、23)
  • i - 分(例如 八、23)
  • S - 秒,帶前導零(例如 0八、23)
  • s - 秒(例如 八、23)
  • R - 當負數時爲符號 "-",當正數時爲符號 "+"
  • r - 當負數時爲符號 "-",當正數時爲空

註釋:每一個格式字符串必須以 % 符號做爲前綴!

date_parse(date)    返回帶有關於指定日期的詳細信息的關聯數組。

date 必需。規定日期(strtotime() 接受的格式)。

date_parse_from_format(format,date)    根據指定的格式返回帶有關於指定日期的詳細信息的關聯數組。

format 必需。規定格式(date_create_from_format() 接受的格式)。
date 必需。指定日期,字符串值。

 

$date=date_create("2016-09-25");
echo date_format($date,"Y/m/d H:i:s");
//2016/09/25 00:00:00

$date1=date_create("1984-01-28");
$date2=date_create("1980-10-15");
$diff=date_diff($date1,$date2);
// %a 輸出總天數
echo $diff->format("總天數:%a 。");
//總天數:1200 。

print_r(date_parse("2013-05-01 12:30:45.5"));
//Array ( [year] => 2013 [month] => 5 [day] => 1 [hour] => 12 [minute] => 30 [second] => 45 [fraction] => 0.5 [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => )

print_r(date_parse_from_format("mmddyyyy","25092016"));
echo "<br><br>";
print_r(date_parse_from_format("j.n.Y H:iP","25.9.2016 14:35+02:00"));
//Array ( [year] => [month] => 9 [day] => 16 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 1 [errors] => Array ( [8] => Data missing ) [is_localtime] => ) 
//Array ( [year] => 2016 [month] => 9 [day] => 25 [hour] => 14 [minute] => 35 [second] => 0 [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => 1 [zone_type] => 1 [zone] => -120 [is_dst] => )

date_add(object,interval)   添加日、月、年、時、分和秒到日期。

object 必需。規定 date_create() 返回的 DateTime 對象。
interval 必需。規定 DateInterval 對象。

date_sub(object,interval)    從指定日期減去日、月、年、時、分和秒。

object 必需。規定由 date_create() 返回的 DateTime 對象。
interval 必需。規定 DateInterval 對象。

date_modify(object,modify)    修改時間戳。

object 必需。規定由 date_create() 返回的 DateTime 對象。
modify 必需。規定日期/時間字符串。
$date=date_create("1980-10-15");
date_add($date,date_interval_create_from_date_string("100 days"));
echo date_format($date,"Y-m-d");
//1981-01-23

$date=date_create("2016-09-25");
date_modify($date,"+4 days");
echo date_format($date,"Y-m-d");
//2016-09-29

$date=date_create("2016-09-29");
date_sub($date,date_interval_create_from_date_string("4 days"));
echo date_format($date,"Y-m-d");
//2016-09-25

date_date_set(object,year,month,day)    設置新日期。

object 必需。規定由 date_create() 返回的 DateTime 對象。
year 必需。規定日期中的年。
month 必需。規定日期中的月。
day 必需。規定日期中的日。

date_time_set(object,hour,minute,second)    設置時間。

object 必需。規定由 date_create() 返回的 DateTime 對象。
hour 必需。規定時間中的小時。
minute 必需。規定時間中的分。
second 可選。規定時間中的秒。默認爲 0。

date_timestamp_set(object,unixtimestamp)    設置基於 Unix 時間戳的日期和時間。

 

object 必需。規定由 date_create() 返回的 DateTime 對象。本函數修改該對象。
unixtimestamp 必需。規定表明日期的 Unix 時間戳。

date_timestamp_get(object)    返回 Unix 時間戳。

object 必需。規定由 date_create() 返回的 DateTime 對象。

date_timezone_set(object,timezone)    設置 DateTime 對象的時區。

object 必需。規定由 date_create() 返回的 DateTime 對象。本函數修改該對象。
timezone

必需。規定表明所需時區的 DateTimeZone 對象。

提示:查看 PHP 中支持的全部時區列表。

 

date_timezone_get(object)    返回給定 DateTime 對象的時區。

 

object 必需。規定由 date_create() 返回的 DateTime 對象。

date_isodate_set(object,year,week,day)       設置 ISO 日期。

object 必需。規定由 date_create() 返回的 DateTime 對象。
year 必需。規定日期中的年。
week 必需。規定日期中的周。
day 可選。規定離一週中第一天的偏移量。默認爲 1。

date_offset_get(object)        返回時區偏移。

object 必需。規定由 date_create() 返回的 DateTime 對象。

 

$date=date_create();
date_date_set($date,2020,10,15);
echo date_format($date,"Y/m/d");
//2020/10/15

$date=date_create();
date_isodate_set($date,2016,5);
echo date_format($date,"Y-m-d");
//2016-02-01

$winter=date_create("2016-10-15",timezone_open("America/New_York"));
$summer=date_create("2016-01-28",timezone_open("America/New_York"));
echo date_offset_get($winter) . " 秒。<br />";
echo date_offset_get($summer) . " 秒。";
//-14400 秒。-18000 秒。

date_default_timezone_get()    返回由全部的 Date/Time 函數使用的默認時區。

date_default_timezone_set(timezone)    設置由全部的 Date/Time 函數使用的默認時區。

timezone

必需。規定要使用的時區,好比 "UTC" 或 "Europe/Paris"。

合法時區的列表: http://www.php.net/manual/zh/timezones.php

date_default_timezone_set("Asia/Shanghai");
echo date_default_timezone_get();
//Asia/Shanghai

echo date_default_timezone_get();
//Asia/Shanghai

date_get_last_errors()    返回日期字符串中的警告/錯誤。

crate_create("aecubdjpoi%&&/");
print_r(date_get_last_errors());
//Array ( [warning_count] => 1 [warnings] => Array ( [6] => Double timezone specification ) [error_count] => 5 [errors] => Array ( [0] => The timezone could not be found in the database [10] => Unexpected character [11] => Unexpected character [12] => Unexpected character [13] => Unexpected character ) )

date_sun_info(timestamp,latitude,longitude)    返回包含有關指定日期與地點的日出/日落和黃昏開始/黃昏結束的信息的數組。

timestamp 必需。規定時間戳。
latitude 必需。必需。規定緯度,以度數計。
longitude 必需。必需。規定經度,以度數計。

date_sunrise(timestamp,format,latitude,longitude,zenith,gmtoffset)    返回指定日期與位置的日出時間。

date_sunset(timestamp,format,latitude,longitude,zenith,gmtoffset)    返回指定日期與位置的日落時間。

timestamp 必需。規定要計算日出時間的日期時間戳。
format

可選。規定如何返回結果:

  • SUNFUNCS_RET_STRING(以字符串返回結果,好比 16:46)(默認)
  • SUNFUNCS_RET_DOUBLE(以浮點數返回結果,好比 16.78243132)
  • SUNFUNCS_RET_TIMESTAMP(以整數(時間戳)返回結果,好比 1095034606)
latitude 可選。規定地點的緯度。默認是指北緯。如需指定南緯,請傳遞負值。
longitude 可選。規定地點的經度。默認是指東經。如需指定西經,請傳遞負值。
zenith 可選。默認爲 date.sunrise_zenith。
gmtoffset 可選。規定 GMT 與本地時間的差值,以小時計。

gmdate(format,timestamp)    格式化 GMT/UTC 日期和時間。

format

必需。規定輸出日期字符串的格式。可以使用下列字符:

  • 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)

gmmktime(hour,minute,second,month,day,year,is_dst)    返回 GMT 日期的 UNIX 時間戳。

hour 可選。規定小時。
minute 可選。規定分。
second 可選。規定秒。
month 可選。規定月。
day 可選。規定天。
year 可選。規定年。
is_dst

可選。參數老是表明 GMT 日期,因此 is_dst 不影響結果。

註釋:該參數在 PHP 5.1.0 中被廢棄。取而代之使用的是新的時區處理特性。

gmstrftime(format,timestamp)    根據區域設置對 GMT/UTC 日期和時間進行格式化。

format

必需。規定如何返回結果:%a - 星期幾名稱的簡寫

  • %A - 星期幾名稱的全稱
  • %b - 月份名稱的簡寫
  • %B - 月份名稱的全稱
  • %c - 首選的日期和時間表示法
  • %C - 表示世紀的數字(年份除以 100,範圍從 00 到 99)
  • %d - 一個月中的第幾天(01 到 31)
  • %D - 時間格式,與 %m/%d/%y 表示法相同
  • %e - 一個月中的第幾天(1 到 31)
  • %g - 與 %G 表示法相似,但不帶世紀
  • %G - 與 ISO 星期數對應的 4 位數年份(見 %V)
  • %h - 與 %b 表示法相同
  • %H - 小時,使用 24 小時制(00 到 23)
  • %I - 小時,使用 12 小時制(01 到 12)
  • %j - 一年中的第幾天(001 到 366)
  • %m - 月份(01 到 12)
  • %M - 分
  • %n - 換行符
  • %p - 與給定的時間值相對應的 am 或 pm
  • %r - a.m. 和 p.m. 的時間標記法
  • %R - 24 小時制的時間標記法
  • %S - 秒
  • %t - tab 製表符
  • %T - 當前時間,與 %H:%M:%S 表示法相同
  • %u - 星期幾的數字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系統中,Sunday[星期日] = 1
  • %U - 當年包含的週數,從第一個星期日開始,做爲第一週的第一天
  • %V - 當年包含的 ISO 8601 格式下的週數(01 到 53),week 1 表示當年的第一週,至少要有四天,且以星期一做爲周的第一天
  • %W - 當年包含的週數,從第一個星期一開始,做爲第一週的第一天
  • %w - 以十進制數形式表示一週中的某天,Sunday[星期日] = 0
  • %x - 首選的日期表示法,不帶時間
  • %X - 首選的時間表示法,不帶日期
  • %y - 不包含表示世紀的數字的年份表示(範圍從 00 到 99)
  • %Y - 包含表示世紀的數字的年份表示
  • %Z 或 %z - 時區名稱或簡寫

idate(format,timestamp)    將本地時間/日期格式化爲整數。

format

必需。規定如何返回結果:

  • B - Swatch Beat/Internet Time
  • d - 一個月中的第幾天
  • h - 小時(12 小時制)
  • H - 小時(24 小時制)
  • i - 分
  • I - 若是啓用夏令時則返回 1,不然返回 0
  • L - 若是閏年則返回 1,不然返回 0
  • m - 月份的數字
  • s - 秒
  • t - 本月的總天數
  • U - 自 Unix 紀元(January 1 1970 00:00:00 GMT)以來通過的秒數,與 time() 做用相同
  • w - 星期中的第幾天(星期天是 0)
  • W - ISO-8601 格式年份中的第幾個星期,每星期從星期一開始
  • y - 年份(1 或 2 位數字)
  • Y - 年份(4 位數字)
  • z - 一年中的第幾天
  • Z - 以秒爲單位的時區偏移量

localtime(timestamp,is_assoc)     返回本地時間。

timestamp 可選。規定 Unix 時間戳。若是未規定 timestamp,則默認爲當前的本地時間 time()。
is_assoc

可選。規定返回關聯數組仍是索引數組。若是爲 FALSE,則返回索引數組。若是爲 TRUE,則返回關聯數組。默認爲 FALSE。

關聯數組的鍵名以下:

  • [tm_sec] - 秒數
  • [tm_min] - 分鐘數
  • [tm_hour] - 小時
  • [tm_mday] - 月份中的第幾天
  • [tm_mon] - 年份中的第幾個月,從 0 開始表示一月份
  • [tm_year] - 年份,從 1900 開始
  • [tm_wday] - 星期中的第幾天 (Sunday=0)
  • [tm_yday] - 年中的第幾天
  • [tm_isdst] - 夏令時當前是否生效

microtime(get_as_float)    返回當前時間的微秒數

get_as_float 可選。當設置爲 TRUE 時,規定函數應該返回浮點數,不然返回字符串。默認爲 FALSE。

mktime(hour,minute,second,month,day,year,is_dst)    返回日期的 Unix 時間戳。

hour 可選。規定小時。
minute 可選。規定分。
second 可選。規定秒。
month 可選。規定月。
day 可選。規定天。
is_dst

可選。若是時間在夏令時 (DST) 期間,則設置爲 1,不然設置爲 0,若未知則設置爲 -1(默認)。

若是未知,PHP 會本身進行查找(可能產生意外的結果)。

注意:該參數在 PHP 5.1.0 中被廢棄。取而代之使用的是新的時區處理特性。

strftime(format,timestamp)    域設置對本地時間/日期進行格式化。

 strptime(date,format)    解析由 strftime() 生成的時間/日期。

date 必需。要解析的字符串(例如:由 strftime() 返回的)。
timestamp 可選。規定表明須要格式化的日期/時間的 Unix 時間戳。默認爲當前時間(time())。
format

必需。規定如何返回結果:

  • %a - 星期幾名稱的簡寫
  • %A - 星期幾名稱的全稱
  • %b - 月份名稱的簡寫
  • %B - 月份名稱的全稱
  • %c - 首選的日期和時間表示法
  • %C - 表示世紀的數字(年份除以 100,範圍從 00 到 99)
  • %d - 一個月中的第幾天(01 到 31)
  • %D - 時間格式,與 %m/%d/%y 表示法相同
  • %e - 一個月中的第幾天(1 到 31)
  • %g - 與 %G 表示法相似,但不帶世紀
  • %G - 與 ISO 星期數對應的 4 位數年份(見 %V)
  • %h - 與 %b 表示法相同
  • %H - 小時,使用 24 小時制(00 到 23)
  • %I - 小時,使用 12 小時制(01 到 12)
  • %j - 一年中的第幾天(001 到 366)
  • %m - 月份(01 到 12)
  • %M - 分
  • %n - 換行符
  • %p - 與給定的時間值相對應的 am 或 pm
  • %r - a.m. 和 p.m. 的時間標記法
  • %R - 24 小時制的時間標記法
  • %S - 秒
  • %t - tab 製表符
  • %T - 當前時間,與 %H:%M:%S 表示法相同
  • %u - 星期幾的數字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系統中,Sunday[星期日] = 1
  • %U - 當年包含的週數,從第一個星期日開始,做爲第一週的第一天
  • %V - 當年包含的 ISO 8601 格式下的週數(01 到 53),week 1 表示當年的第一週,至少要有四天,且以星期一做爲周的第一天
  • %W - 當年包含的週數,從第一個星期一開始,做爲第一週的第一天
  • %w - 以十進制數形式表示一週中的某天,Sunday[星期日] = 0
  • %x - 首選的日期表示法,不帶時間
  • %X - 首選的時間表示法,不帶日期
  • %y - 不包含表示世紀的數字的年份表示(範圍從 00 到 99)
  • %Y - 包含表示世紀的數字的年份表示
  • %Z 或 %z - 時區名稱或簡寫
  • %% - 輸出一個 % 字符

timezone_abbreviations_list()    返回包含夏令時、偏移量和時區名稱的關聯數組。

timezone_identifiers_list()    返回帶有全部時區標識符的索引數組。

timezone_location_get()    返回指定時區的位置信息。

timezone_name_from_abbr()    根據時區縮略語返回時區名稱。

timezone_name_get()    返回時區的名稱。

timezone_offset_get()    返回相對於 GMT 的時區偏移。

timezone_transitions_get()    返回時區的全部轉換。

timezone_version_get()    返回時區數據庫的版本。

相關文章
相關標籤/搜索