PHP时间函数总结
1、checkdate() 验证格利高里日期即:日期是否存在。checkdate(month,day,year);
month 必需。一个从 1 到 12 的数字,规定月。
day 必需。一个从 1 到 31 的数字,规定日。
year 必需。一个从 1 到 32767 的数字,规定年。
返回值:如果日期是有效的则返回 TRUE,否则返回 FALSE。
PHP 版本: 4.0+
输出效果: bool(false) bool(false) bool(true)2、date_add() 添加日、月、年、时、分和秒到一个日期。
date_add(object,interval);
object 必需。规定 date_create() 返回的 DateTime 对象。
interval 必需。规定 DateInterval 对象。
返回值: 如果成功则返回 DateTime 对象,如果失败则返回 FALSE。
PHP 版本: 5.3+
添加 40 天到 2013 年 3 月 15 日:效果:2013-04-243、date_create_from_format() 返回一个根据指定格式进行格式化的新的 DateTime 对象。
date_create_from_format(format,time,timezone);
format 必需。规定要利用的格式。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 的时区。默以为当前时区。
返回值: 如果成功则返回 DateTime 对象,如果失败则返回 FALSE。
PHP 版本: 5.3+
4、date_create() 返回一个新的 DateTime 对象。
date_create(time,timezone);
time 可选。规定一个日期/时间字符串。NULL 表示当前的日期/时间。
timezone 可选。规定 time 的时区。默认是当前时区。
返回值: 如果成功则返回一个新的 DateTime 对象,如果失败则返回 FALSE。
PHP 版本: 5.2+
2013/03/155、date_date_set() 设置一个新的日期。
date_date_set(object,year,month,day);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
year 必需。规定日期中的年。
month 必需。规定日期中的月。
day 必需。规定日期中的日。
返回值: 如果成功则返回一个新的 DateTime 对象,如果失败则返回 FALSE。
PHP 版本: 5.2+,从 PHP 5.3+ 开始,如果成功,返回值则从 NULL 变成 DateTime。
2020/10/306、date_default_timezone_get() 返回默认时区,被所有的 Date/Time 函数利用。
date_default_timezone_get();
返回值: 以字符串返回时区。
PHP 版本: 5.1+,从 PHP 5.4+ 开始,时区不再从操纵体系获取信息,TZ 变量不再被利用。
Asia/Shanghai7、date_default_timezone_set() 设置默认时区,被所有的 Date/Time 函数利用。
date_default_timezone_set(timezone);
timezone 必需。规定要利用的时区,比如 "UTC" 或 "Europe/Paris"。合法时区的列表: http://www.php.net/manual/en/timezones.php
返回值: 如果 timezone 不合法则返回 FALSE,否则返回 TRUE。
PHP 版本: 5.1+,从 PHP 5.1.2+ 开始,该函数开始验证 timezone 参数。从 PHP 5.3+ 开始,抛出 E_WARNING 而不是 E_STRICT。
Asia/Shanghai8、date_diff() 返回两个日期间的差值。
date_diff(datetime1,datetime2,absolute);
datetime1 必需。规定一个 DateTime 对象。
datetime2 必需。规定一个 DateTime 对象。
absolute 可选。规定一个布尔值。TRUE 表示间隔/差值必须是正的。默认是 FALSE。
返回值: 如果成功则返回一个 DateInterval 对象,表示两个日期间的差值。如果失败则返回 FALSE。
PHP 版本: 5.3+
+272 days9、date_format() 返回根据指定格式进行格式化的日期。
date_format(object,format);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
format 必需。规定日期格式。
返回值: 返回格式化的日期字符串。如果失败则返回 FALSE。
PHP 版本: 5.2+
2013/03/15 00:00:0010、date_get_last_errors() 返回日期字符串中的告诫/错误。
date_get_last_errors();
返回值: 返回一个包含有关错误/告诫信息的数组。
PHP 版本: 5.3+
Array ( => 1 => Array ( => Double timezone specification ) => 5 => Array ( => The timezone could not be found in the database => Unexpected character => Unexpected character => Unexpected character => Unexpected character ) )11、date_interval_create_from_date_string() 从字符串的相干部门建立一个 DateInterval。
date_interval_create_from_date_string ( string $time )
$time 必需。与相干部门的日期。 具体来说,用于strtotime()和DateTime的分析器支持的相对格式将用于构造DateInterval。
返回值:返回一个新的DateInterval实例。
PHP 版本: 5.0+
object(DateInterval)#1 (16) { ["y"]=> int(0) ["m"]=> int(0) ["d"]=> int(0) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(3600) ["f"]=> float(0) ["weekday"]=> int(0) ["weekday_behavior"]=> int(0) ["first_last_day_of"]=> int(0) ["invert"]=> int(0) ["days"]=> bool(false) ["special_type"]=> int(0) ["special_amount"]=> int(0) ["have_weekday_relative"]=> int(0) ["have_special_relative"]=> int(0)}12、date_interval_format() 格式化时间间隔。
DateInterval::format(format);
format 必需。规定格式。format 参数字符串可以利用下列的字符:
% - Literal %
Y - 年,至少 2 个数字,带前导零(例如 03)
y - 年(例如 3)
M - 月,带前导零(例如 06)
m - 月(例如 6)
D - 日,带前导零(例如 09)
d - 日(例如 9)
a - 由 date_diff() 得出的两个日期间隔的总天数
H - 小时,带前导零(例如 08、23)
h - 小时(例如 8、23)
I - 分,带前导零(例如 08、23)
i - 分(例如 8、23)
S - 秒,带前导零(例如 08、23)
s - 秒(例如 8、23)
R - 当负数时为符号 "-",当正数时为符号 "+"
r - 当负数时为符号 "-",当正数时为空
注意:每个格式字符串必须带一个 % 符作为前缀!
返回值: 返回格式化的时间间隔。
PHP 版本: 5.3+
日期间隔的总天数为: 40 天。13、date_isodate_set() 设置 ISO 日期。
date_isodate_set(object,year,week,day);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
year 必需。规定日期中的年。
week 必需。规定日期中的周。
day 可选。规定离一周中第一天的偏移量。默以为 1。
返回值: 如果成功则返回一个 DateTime 对象,如果失败则返回 FALSE。
PHP 版本: 5.2+,PHP 5.3.0:返回值从 NULL 改为 DateTime。
设置 2013 年第 5 周的 ISO 日期:2013-01-2814、date_modify() 修改时间戳。
date_modify(object,modify);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
modify 必需。规定一个日期/时间字符串。
返回值: 如果成功则返回一个 DateTime 对象。如果失败则返回 FALSE。
PHP 版本: 5.2+,PHP 5.3.0:返回值从 NULL 改为 DateTime。
修改时间戳。增加 15 天:
2013-05-1615、date_offset_get() 返回时区偏移。
date_offset_get(object);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
返回值: 如果成功则返回相对于 UTC 的以秒计的时区,如果失败则返回 FALSE。
PHP 版本: 5.2+
返回奥斯陆(在欧洲挪威)冬天和炎天相对于 UTC 的以秒计的时区偏移量:
3600 seconds.7200 seconds.16、date_parse_from_format() 根据指定的格式返回一个带有指定日期的详细信息的关联数组。
date_parse_from_format(format,date);
format 必需。规定格式(格式由 date_create_from_format() 担当)。
date 必需。一个指定日期的字符串。
返回值: 如果成功则返回包含指定日期信息的关联数组。
PHP 版本: 5.3+
Array ( => => 12 => 13 => => => => => 0 => Array ( ) => 1 => Array ( => Data missing ) => )Array ( => 2013 => 5 => 12 => 14 => 35 => 0 => => 0 => Array ( ) => 0 => Array ( ) => 1 => 1 => -120 => )17、date_parse() 返回一个带有指定日期的详细信息的关联数组。
date_parse(date);
date 必需。规定日期(格式由 strtotime() 担当)。
返回值: 如果成功则返回包含被分析日期信息的关联数组,如果失败则返回 FALSE。
PHP 版本: 5.2+
Array ( => 2013 => 5 => 1 => 12 => 30 => 45 => 0.5 => 0 => Array ( ) => 0 => Array ( ) =>)18、date_sub() 从指定日期减去日、月、年、时、分和秒。
date_sub(object,interval);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
interval 必需。规定一个 DateInterval 对象。
返回值: 如果成功则返回 DateTime 对象,如果失败则返回 FALSE。
PHP 版本: 5.3+
2013-02-0319、date_sun_info() 返回一个包含有关指定日期与地点的日出/日落和薄暮开始/薄暮结束的信息的数组。
date_sun_info(timestamp,latitude,longitude);
timestamp 必需。规定时间戳。
latitude 必需。规定纬度。
longitude 必需。规定经度。
返回值: 如果成功则返回一个数组,如果失败则返回 FALSE。
PHP 版本: 5.1.2+
Date: 1st January, 2013sunrise: 23:39:11sunset: 09:46:51transit: 04:43:01civil_twilight_begin: 23:12:29civil_twilight_end: 10:13:33nautical_twilight_begin: 22:42:09nautical_twilight_end: 10:43:53astronomical_twilight_begin: 22:12:28astronomical_twilight_end: 11:13:34Date: 1st June, 2013sunrise: 22:34:03sunset: 12:39:59transit: 05:37:01civil_twilight_begin: 22:06:21civil_twilight_end: 13:07:40nautical_twilight_begin: 21:32:35nautical_twilight_end: 13:41:27astronomical_twilight_begin: 20:56:19astronomical_twilight_end: 14:17:4220、date_sunrise() 返回指定日期与地点的日出时间。
date_sunrise(timestamp,format,latitude,longitude,zenith,gmtoffset);
timestamp 必需。规定要计算日出时间的日期时间戳。
format可选。规定怎样返回效果:
SUNFUNCS_RET_STRING(以 string 格式返回效果,比如 16:46)(默认)
SUNFUNCS_RET_DOUBLE(以 float 格式返回效果,比如 16.78243132)
SUNFUNCS_RET_TIMESTAMP(以 integer 格式(时间戳)返回效果,比如 1095034606)
latitude 可选。规定地点的纬度。默认是指北纬。因此如果要指定南纬,必须传递一个负值。
longitude 可选。规定地点的经度。默认是指东经。因此如果要指定西经,必须传递一个负值。
zenith 可选。默以为 date.sunrise_zenith。
gmtoffset 可选。规定 GMT 与当地时间的差值。单位是小时。
返回值: 如果成功,则以指定的 format 返回日出时间。如果失败则返回 FALSE。
PHP 版本: 5+,从 PHP 5.1.0 开始,该函数报 E_STRICT 和 E_NOTICE 时区错误。
Date: Sat Sep 21 2013Sunrise time: 07:26Sunset time: 19:3021、date_sunset() 返回指定日期与地点的日落时间。
date_sunset(timestamp,format,latitude,longitude,zenith,gmtoffset);
timestamp 必需。规定要计算日落时间的日期时间戳。
format可选。规定怎样返回效果:
SUNFUNCS_RET_STRING(以 string 格式返回效果,比如 16:46)(默认)
SUNFUNCS_RET_DOUBLE(以 float 格式返回效果,比如 16.78243132)
SUNFUNCS_RET_TIMESTAMP(以 integer 格式(时间戳)返回效果,比如 1095034606)
latitude 可选。规定地点的纬度。默认是指北纬。因此如果要指定南纬,必须传递一个负值。
longitude 可选。规定地点的经度。默认是指东经。因此如果要指定西经,必须传递一个负值。
zenith 可选。默以为 date.sunset_zenith。
gmtoffset 可选。规定 GMT 与当地时间的差值。单位是小时。
返回值: 如果成功,则以指定的 format 返回日落时间。如果失败则返回 FALSE。
PHP 版本: 5+,从 PHP 5.1.0 开始,该函数报 E_STRICT 和 E_NOTICE 时区错误。
Date: Sat Sep 21 2013Sunrise time: 07:26Sunset time: 19:3022、date_time_set() 设置时间。
date_time_set(object,hour,minute,second);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
hour 必需。规定时间中的小时。
minute 必需。规定时间中的分。
second 可选。规定时间中的秒。默以为 0。
返回值: 如果成功则返回 DateTime 对象。如果失败则返回 FALSE。
PHP 版本: 5.2+,PHP 5.3.0:返回值从 NULL 变为 DateTime。
2013-05-01 13:24:002013-05-01 12:20:5523、date_timestamp_get() 返回 Unix 时间戳。
date_timestamp_get(object);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
返回值: 返回代表日期的 Unix 时间戳。
PHP 版本: 5.3+
163031571224、date_timestamp_set() 设置基于 Unix 时间戳的日期和时间。
date_timestamp_set(object,unixtimestamp);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。该函数修改该对象。
unixtimestamp 必需。规定代表日期的 Unix 时间戳。
返回值: 返回指定格式的 DateTime 对象。如果失败则返回 FALSE。
PHP 版本: 5.3+
1371803321 = 2013-06-21 04:28:4125、date_timezone_get() 返回给定 DateTime 对象的时区。
date_timezone_get(object);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。
返回值: 如果成功则返回 DateTimeZone 对象,如果失败则返回 FALSE。
PHP 版本: 5.2+
Europe/Paris26、date_timezone_set() 设置 DateTime 对象的时区。
date_timezone_set(object,timezone);
object 必需。规定一个由 date_create() 返回的 DateTime 对象。该函数修改该对象。
timezone 必需。规定一个代表所需时区的 DateTimeZone 对象。
提示: 检察 PHP 中支持的所有时区列表
返回值: 返回指定格式的 DateTime 对象。如果失败则返回 FALSE。
PHP 版本: 5.2+,PHP 5.3.0:返回值从 NULL 改为 DateTime。
2013-05-25 00:00:00+05:002013-05-24 21:00:00+02:0027、date() 格式化当地日期和时间。
date(format,timestamp);
返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则利用当地当前时间。换句话说,timestamp 是可选的,默认值为 time()。
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)
timestamp 可选。规定一个整数的 Unix 时间戳。默认是当前的当地时间(time())。
返回值: 如果成功则返回格式化的日期字符串,如果失败则报 E_WARNING 错并返回 FALSE。
PHP 版本: 4+,PHP 5.1.0:新增 E_STRICT 和 E_NOTICE 时区错误。有效范围的时间戳是从 1901 年 12 月 13 日 20:45:54 GMT 星期五 到 2038 年 1 月 19 日 03:14:07 GMT 星期二。5.1.0 之前的版本,在某些体系上(例如 Windows)时间戳被限制在从 01-01-1970 到 19-01-2038。PHP 5.1.1:新增尺度日期/时间格式常量,用于指定 format 参数。
输出如下所示:2018-01-31 22:09:352018 年 01 月 31 日 22 点 09 分 35 秒2018-01-18 08:08:0828、getdate() 返回某个时间戳或者当前当地的日期/时间的日期/时间信息。
getdate(timestamp);
timestamp 可选。规定整数的 Unix 时间戳。默以为当前当地时间(time())。
返回值: 返回带有与时间戳相干的信息的关联数组:
- 秒
- 分
- 小时
- 一个月中的第几天
- 一周中的某天
- 月
- 年
- 一年中的某天
- 星期几的名称
- 月份的名称
- 自 Unix 纪元以来经过的秒数
PHP 版本: 4+
Array ( => 44 => 7 => 11 => 21 => 6 => 9 => 2013 => 263 => Saturday => September => 1379776064)Saturday, September 21, 201329、gettimeofday() 返回当前时间。
gettimeofday(return_float);
return_float 可选。当设置为 TRUE 时,返回一个浮点数,而不是一个数组。默认是 FALSE。
返回值: 默认返回一个关联数组,带有如下数组键名:R
- Unix 纪元以来的秒
- 微秒
- 格林尼治以西的分
- 夏令时修正类型
如果 return_float 参数设置为 true,则返回一个浮点数。
PHP 版本: 4+,PHP 5.1.0:新增了return_float 参数。
Array ( => 1379776108 => 123619 => 240 => 1 )1379776108.12381379776108.12377030、gmdate() 格式化 GMT/UTC 日期和时间。
gmdate(format,timestamp);
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)
timestamp 可选。规定一个整数的 Unix 时间戳。默认是当前的当地时间(time())。
返回值: 如果成功则返回格式化的日期字符串,如果失败则报 E_WARNING 错并返回 FALSE。
PHP 版本: 4+,PHP 5.1.0:有效范围的时间戳是从 1901 年 12 月 13 日 20:45:54 GMT 星期五 到 2038 年 1 月 19 日 03:14:07 GMT 星期二。5.1.0 之前的版本,在某些体系上(例如 Windows)时间戳被限制在从 01-01-1970 到 19-01-2038。PHP 5.1.1:新增尺度日期/时间格式常量,用于指定 format 参数。
SaturdaySaturday 21st of September 2013 03:09:15 PMOct 3, 1975 was on a FridaySat, 21 Sep 13 15:09:15 +00001975-10-03T04:00:00+00:0031、gmmktime() 返回 GMT 日期的 UNIX 时间戳。
gmmktime(hour,minute,second,month,day,year,is_dst);
hour 可选。规定小时。
minute 可选。规定分。
second 可选。规定秒。
month 可选。规定月。
day 可选。规定天。
year 可选。规定年。
is_dst 可选。参数总是代表 GMT 日期,所以 is_dst 不影响效果。 注意:该参数在 PHP 5.1.0 中被废弃。取而代之利用的是新的时区处理特性。
返回值: 返回一个整数 Unix 时间戳。
PHP 版本: 4+,PHP 5.1.0:is_dst 参数被废弃。
Oct 3, 1975 was on a Thursday32、gmstrftime() 根据区域设置格式化 GMT/UTC 日期和时间。
gmstrftime(format,timestamp);
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 - 时区名称或简写
%% - 输出一个 % 字符
timestamp 可选。规定需要格式化的日期/时间的 Unix 时间戳。默以为当前时间(time())。
返回值: 返回根据 format 利用给定的 timestamp 格式化的字符串。月份和星期几的名称和其他语言相干的字符串遵守 setlocale() 中的当前区域设置。
PHP 版本: 4+
January 01 1999, 01:00:00 Eastern Standard Time2013. September 21. Saturday. 15:10:22 Eastern Standard Time33、idate() 格式化当地时间/日期为整数。
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 - 以秒为单位的时区偏移量
timestamp 可选。规定需要格式化的日期/时间的 Unix 时间戳。默以为当前时间(time())。
返回值: 返回根据指定的 format 利用给定的 timestamp 格式化的整数。
PHP 版本: 5+,PHP 5.1.0:增加 E_STRICT 和 E_NOTICE 时区错误
4483051745008253116303167251352120212412880034、localtime() 返回当地时间。
localtime(timestamp,is_assoc);
timestamp 可选。规定 Unix 时间戳。如果未规定 timestamp,则默以为当前的当地时间 time()。
is_assoc 可选。规定返回关联数组照旧数值数组。如果为 FALSE,则返回数值数组。如果为 TRUE,则返回关联数组。默以为 FALSE。
关联数组的键名如下所示:
- 秒数
- 分钟数
- 小时
- 月份中的第几天
- 年份中的第几个月,从 0 开始表示一月份
- 年份,从 1900 开始
- 星期中的第几天 (Sunday=0)
- 年中的第几天
- 夏令时当前是否见效
返回值: 返回包含 Unix 时间戳组件的数组。
PHP 版本: 4+,PHP 5.1.0:增加 E_STRICT 和 E_NOTICE 时区错误。
Array ( => 15 => 13 => 11 => 21 => 8 => 113 => 6 => 263 => 1 )Array ( => 15 => 13 => 11 => 21 => 8 => 113 => 6 => 263 => 1)35、microtime() 返回当前 Unix 时间戳的微秒数。
microtime(get_as_float);
get_as_float 可选。当设置为 TRUE 时,规定函数应该返回一个浮点数,否则返回一个字符串。默以为 FALSE。
返回值: 默认返回字符串 "microsec sec" ,其中 sec 为自 Unix 纪元(0:00:00 January 1, 1970 GMT)起的秒数,microsec 为微秒部门。如果 get_as_float 参数设置为 TRUE,则返回一个浮点数,表示自 Unix 纪元起正确到微秒的以秒为单位的当前时间。
PHP 版本: 4+,PHP 5.0.0:新增 get_as_float 参数。
0.27165800 1379776428Did nothing in 0.0047760009765625 seconds36、mktime() 返回一个日期的 Unix 时间戳。
mktime(hour,minute,second,month,day,year,is_dst);
hour 可选。规定小时。
minute 可选。规定分。
second 可选。规定秒。
month 可选。规定月。
day 可选。规定天。
year 可选。规定年。
is_dst 可选。如果时间在夏令时期间,则设置为 1,否则设置为 0,若未知则设置为 -1(默认)。如果未知,PHP 会试图找到本身(大概产生不测的效果)。 注意:该参数在 PHP 5.1.0 中被废弃。取而代之利用的是新的时区处理特性。
返回值: 返回一个整数 Unix 时间戳,如果错误则返回 FALSE。
PHP 版本: 4+,PHP 5.3.0:如果利用 is_dst 参数,则抛出 E_DEPRECATED。PHP 5.1.0:is_dst 参数被废弃。如果 mktime() 被调用时不带参数,抛出 E_STRICT 通知。请利用 time() 函数代替。
a FridayJan-05-2002Feb-01-2002Jan-01-2001Jan-01-199937、strftime() 根据区域设置格式化当地时间/日期。
strftime(format,timestamp);
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 - 时区名称或简写
%% - 输出一个 % 字符
timestamp 可选。规定需要格式化的日期/时间的 Unix 时间戳。默以为当前时间(time())。
返回值: 返回根据 format 利用给定的 timestamp 格式化的字符串。月份和星期几的名称和其他语言相干的字符串遵守 setlocale() 中的当前区域设置。
PHP 版本: 4+,PHP 5.1.0:增加 E_STRICT 和 E_NOTICE 时区错误。
December 31 1998, 20:00:00 CST2021. August 30. Monday. 17:52:10 CST38、strptime() 分析由 strftime() 天生的时间/日期。
strptime(date,format);
date 必需。要分析的字符串(例如:由 strftime() 返回的)。
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 - 时区名称或简写
%% - 输出一个 % 字符
返回值: 如果成功该函数返回一个带有分析日期的数组。如果失败则返回 FALSE。
返回数组的键名寄义如下所示:
- 当前分钟内的秒数(0-61)
- 当前小时内的分钟数(0-59)
- 午夜起的小时数(0-23)
- 月份中的第几天(1-31)
- 自一月起过了几个月(0-11)
- 自 1900 年起过了几年
- 自星期天起过了几天(0-6)
- 本年自 1 月 1 日起过了多少天(0-365)
- 日期中未能通过指定的 format 辨认的部门
PHP 版本: 5.1+
30/08/2021 17:54:06 39、strtotime() 将任何英文文本的日期或时间形貌分析为 Unix 时间戳。
int strtotime ( string $time [, int $now = time() ] )
time 必需。规定日期/时间字符串。
now 可选。规定用来计算返回值的时间戳。如果省略该参数,则利用当前时间。
返回值: 成功则返回时间戳,失败则返回 FALSE。
PHP 版本: 4+,PHP5.3.0:现在相对时间格式,比如这一周、前一周、上一周、下一周,规定一周从星期一到星期日,而不是利用相对于当前日期/时间的前后 7 天。
PHP 5.3.0: 现在 24:00 是有效的格式。
PHP 5.2.7:在这之前的版本中,如果请求一个月中某个给定日期且该日期刚好是该月的第一天,则会错误地把增加一个星期到返回的时间戳中,这点现在已经得到更正。
PHP 5.1.0:如果失败则返回 FALSE(在这之前的版本则返回 -1),并增加了 E_STRICT 和 E_NOTICE 时区错误。
PHP 5.0.2:现在精确计算 "now" 和其他相对时间是以当前时间为准,而不是以今天午夜的时间为准。
PHP 5.0.0:允许微秒(但微秒数通常被忽略)。
输出效果:1516234088151740827215174082729685152001517494672151801307215182002741517414400151715520040、time() 返回当前时间的 Unix 时间戳。
time();
返回值: 返回一个包含当前时间的 Unix 时间戳的整数。
PHP 版本: 4+
16303174362021-08-3041、timezone_abbreviations_list() 返回包含夏令时、偏移量和时区名称的关联数组。
timezone_abbreviations_list();
返回值: 成功则返回一个关联数组,失败则返回 FALSE。
PHP 版本: 5.2+
Array ( => Array ( => => -18000 => America/Porto_Acre ) => Array ( => => -18000 => America/Eirunepe ) => Array ( => => -18000 => America/Rio_Branco ) => Array ( => => -18000 => Brazil/Acre ))42、timezone_identifiers_list() 返回带有所有时区标识符的数值数组。
timezone_identifiers_list(what,country);
what 可选。规定一个 DateTimeZone 类常量
1 = AFRICA
2 = AMERICA
4 = ANTARCTICA
8 = ARCTIC
16 = ASIA
32 = ATLANTIC
64 = AUSTRALIA
128 = EUROPE
256 = INDIAN
512 = PACIFIC
1024 = UTC
2047 = ALL
4095 = ALL_WITH_BC
4096 = PER_COUNTRY
country 可选。规定两个字母的 ISO 3166-1 兼容的国家代码。
返回值: 成功则返回一个数值数组,失败则返回 FALSE。
PHP 版本: 5.2+,PHP 5.3:新增可选的 what 和 country 参数。
Array ( => Africa/Abidjan => Africa/Accra => Africa/Addis_Ababa => Africa/Algiers => Africa/Asmara => Africa/Bamako => Africa/Bangui => Africa/Banjul => Africa/Bissau => Africa/Blantyre => Africa/Brazzaville => Africa/Bujumbura => Africa/Cairo => Africa/Casablanca => Africa/Ceuta => Africa/Conakry => Africa/Dakar => Africa/Dar_es_Salaam => Africa/Djibouti => Africa/Douala => Africa/El_Aaiun => Africa/Freetown => Africa/Gaborone => Africa/Harare => Africa/Johannesburg => Africa/Juba => Africa/Kampala => Africa/Khartoum => Africa/Kigali => Africa/Kinshasa => Africa/Lagos => Africa/Libreville => Africa/Lome => Africa/Luanda => Africa/Lubumbashi => Africa/Lusaka => Africa/Malabo => Africa/Maputo => Africa/Maseru => Africa/Mbabane => Africa/Mogadishu => Africa/Monrovia => Africa/Nairobi => Africa/Ndjamena => Africa/Niamey => Africa/Nouakchott => Africa/Ouagadougou => Africa/Porto-Novo => Africa/Sao_Tome => Africa/Tripoli => Africa/Tunis => Africa/Windhoek)43、timezone_location_get() 返回指定时区的位置信息。
timezone_location_get(object);
object 必需。规定一个由 timezone_open() 返回的 DateTimeZone 对象。
返回值: 返回一个包含时区的位置信息的数组。
PHP 版本: 5.3+
Array ( => TW => 25.05 => 121.5 => )44、timezone_name_from_ abbr() 根据时区缩略语返回时区名称。
timezone_name_from_abbr(abbr,gmtoffset,isdst);
abbr 必需。规定时区缩略语。
gmtoffset 可选。规定相对于 GMT 的以秒为单位的偏移量。默以为 -1,表示返回第一个被找到的匹配缩略语的时区。否则搜索正确的偏移量。如果没有找到,则返回任意偏移量的第一个时区。
isdst 可选。规定夏令时指示器。
-1 = 默认。搜索时是否考虑时区的夏令时
1 = 表示 gmtoffset 是受夏令时影响的一个偏移量
0 = 表示 gmtoffset 是不受夏令时影响的一个偏移量
返回值: 成功则返回时区名称,失败则返回 FALSE。
PHP 版本: 5.1.3+
America/New_YorkEurope/Helsinki45、timezone_name_get() 返回时区的名称。
timezone_name_get(object);
object 必需。规定一个 DateTimeZone 对象。
返回值: 从时区列表中返回时区的名称。
PHP 版本: 5.2+
Europe/Paris46、timezone_offset_get() 返回相对于 GMT 的时区偏移。
timezone_offset_get(object,datetime);
object 必需。规定一个由 timezone_open() 返回的 DateTimeZone 对象。
datetime 必需。规定需要计算偏移的日期/时间。
返回值: 成功则返回以秒为单位的时区偏移,失败则返回 FALSE。
PHP 版本: 5.2+
2880047、timezone_open() 创建一个新的 DateTimeZone 对象。
timezone_open(timezone);
timezone 必需。规定一个时区。
提示: 检察 PHP 中支持的所有时区列表
返回值: 成功则返回 DateTimeZone 对象,失败则返回 FALSE。
PHP 版本: 5.2+
Europe/Paris48、timezone_transitions_get() 返回时区的所有转换。
timezone_transitions_get(obj)
obj -DateTimeZone对象
返回值:timezone_transitions_get()函数返回包含关联数组的数字索引数组,该数组在成功时会发生所有转换,而在失败时会发生FALSE。
Array ( => Array ( => -9223372036854775808 => -292277022657-01-27T08:29:52+0000 => 19164 => => LMT ) => Array ( => -2147483648 => 1901-12-13T20:45:52+0000 => 19172 => => MMT ))49、timezone_version_get() 返回时区数据库的版本。
timezone_version_get();
返回值: 以字符串形式返回时区数据库的版本。
PHP 版本: 5.3+
2012.2
页:
[1]