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() 返回时区数据库的版本。