date(format,timestamp) 格式化本地日期和時間。php
format | 必需。規定輸出日期字符串的格式。可以使用下列字符:git
同時,也可以使用下列預約義常量(從 PHP 5.1.0 開始可用):數據庫
|
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())。 |
返回帶有與時間戳相關的信息的關聯數組:
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。 |
默認返回關聯數組,帶有以下數組鍵名:
若是 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 參數字符串可使用下列的字符:
|
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 參數字符串可使用下列的字符:
註釋:每一個格式字符串必須以 % 符號做爲前綴! |
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"。 |
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 | 可選。規定如何返回結果:
|
latitude | 可選。規定地點的緯度。默認是指北緯。如需指定南緯,請傳遞負值。 |
longitude | 可選。規定地點的經度。默認是指東經。如需指定西經,請傳遞負值。 |
zenith | 可選。默認爲 date.sunrise_zenith。 |
gmtoffset | 可選。規定 GMT 與本地時間的差值,以小時計。 |
gmdate(format,timestamp) 格式化 GMT/UTC 日期和時間。
format | 必需。規定輸出日期字符串的格式。可以使用下列字符:
同時,也可以使用下列預約義常量(從 PHP 5.1.0 開始可用):
|
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 - 星期幾名稱的簡寫
|
idate(format,timestamp) 將本地時間/日期格式化爲整數。
format | 必需。規定如何返回結果:
|
localtime(timestamp,is_assoc) 返回本地時間。
timestamp | 可選。規定 Unix 時間戳。若是未規定 timestamp,則默認爲當前的本地時間 time()。 |
is_assoc | 可選。規定返回關聯數組仍是索引數組。若是爲 FALSE,則返回索引數組。若是爲 TRUE,則返回關聯數組。默認爲 FALSE。 關聯數組的鍵名以下:
|
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 | 必需。規定如何返回結果:
|
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() 返回時區數據庫的版本。