php时间日期函数:
1:
bool checkdate ( int month, int day, int year) 如果给出的日期有效则返回 TRUE,否则返回 FALSE。检查由参数构成的日期的合法性。日期在以下情况下被认为有效:
|
2:
string date ( string format [, int timestamp]) 返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。
注: 有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范围符合 32 位有符号整数的最小值和最大值)。在 Windows 系统中此范围限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。
注: 要将字符串表达的时间转换成时间戳,应该使用 strtotime()。此外一些数据库有一些函数将其时间格式转换成时间戳(例如 MySQL 的 UNIX_TIMESTAMP 函数)。
|
|
表格 1. 格式字串可以识别以下 format 参数的字符串: |
例如:date('m-d'); 输出就是类似:07-26 形式。第二个参数是时间戳,不传则默认为本地当前时间/。
3:
string gmdate ( string format [, int timestamp])
同 date() 函数完全一样,只除了返回的时间是格林威治标准时(GMT)。
array getdate ( [int timestamp]) 返回一个根据 timestamp 得出的包含有日期信息的结合数组。如果没有给出时间戳则认为是当前本地时间。数组中的单元如下: |
键名 |
说明 |
返回值例子 |
"seconds" |
秒的数字表示 |
0 到 59 |
"minutes" |
分钟的数字表示 |
0 到 59 |
"hours" |
小时的数字表示 |
0 到 23 |
"mday" |
月份中第几天的数字表示 |
1 到 31 |
"wday" |
星期中第几天的数字表示 |
0(表示星期天)到 6(表示星期六) |
"mon" |
月份的数字表示 |
1 到 12 |
"year" |
4 位数字表示的完整年份 |
例如:1999 或 2003 |
"yday" |
一年中第几天的数字表示 |
0 到 366 |
"weekday" |
星期几的完整文本表示 |
Sunday 到 Saturday |
"month" |
月份的完整文本表示 |
January> 到 December |
0 |
自从 Unix 纪元开始至今的秒数,和 time() 的返回值以及用于 date() 的值类似。 |
系统相关,典型值为从 -2147483648 到 2147483647。 |
|
4:
gettimeofday -- 取得当前时间
本函数是 gettimeofday(2) 的接口。返回一个结合数组,包含有系统调用返回的数据。
"sec" - 秒数
"usec" - 微秒数
"minuteswest" - 格林威治向西的分钟数
"dsttime" - 夏令时修正的类型。
5:mktime -- 取得一个日期的 UNIX 时间戳,gmmktime -- 取得 GMT 日期的 UNIX 时间戳
和 mktime() 完全一样,只除了返回值是格林威治标准时的时间戳。
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]]) |
gmmktime -- 取得 GMT 日期的 UNIX 时间戳
和 mktime() 完全一样,只除了返回值是格林威治标准时的时间戳。
6:
7:
strtotime -- 将任何英文文本的日期时间描述解析为 UNIX 时间戳 int strtotime ( string time [, int now]) |
8:
strftime -- 根据区域设置格式化本地时间/日期
string strftime ( string format [, int timestamp])
格式字串能识别下列转换标记:
-
%a - 当前区域星期几的简写
-
%A - 当前区域星期几的全称
-
%b - 当前区域月份的简写
-
%B - 当前区域月份的全称
-
%c - 当前区域首选的日期时间表达
-
%C - 世纪值(年份除以 100 后取整,范围从 00 到 99)
-
%d - 月份中的第几天,十进制数字(范围从 01 到 31)
-
%D - 和 %m/%d/%y 一样
-
%e - 月份中的第几天,十进制数字,一位的数字前会加上一个空格(范围从 ' 1' 到 '31')
-
%g - 和 %G 一样,但是没有世纪
-
%G - 4 位数的年份,符合 ISO 星期数(参见 %V)。和 %V 的格式和值一样,只除了如果 ISO 星期数属于前一年或者后一年,则使用那一年。
-
%h - 和 %b 一样
-
%H - 24 小时制的十进制小时数(范围从 00 到 23)
-
%I - 12 小时制的十进制小时数(范围从 00 到 12)
-
%j - 年份中的第几天,十进制数(范围从 001 到 366)
-
%m - 十进制月份(范围从 01 到 12)
-
%M - 十进制分钟数
-
%n - 换行符
-
%p - 根据给定的时间值为 `am' 或 `pm',或者当前区域设置中的相应字符串
-
%r - 用 a.m. 和 p.m. 符号的时间
-
%R - 24 小时符号的时间
-
%S - 十进制秒数
-
%t - 制表符
-
%T - 当前时间,和 %H:%M:%S 一样
-
%u - 星期几的十进制数表达 [1,7],1 表示星期一
-
%U - 本年的第几周,从第一周的第一个星期天作为第一天开始
-
%V - 本年第几周的 ISO 8601:1988 格式,范围从 01 到 53,第 1 周是本年第一个至少还有 4 天的星期,星期一作为每周的第一天。(用 %G 或者 %g 作为指定时间戳相应周数的年份组成。)
-
%W - 本年的第几周数,从第一周的第一个星期一作为第一天开始
-
%w - 星期中的第几天,星期天为 0
-
%x - 当前区域首选的时间表示法,不包括时间
-
%X - 当前区域首选的时间表示法,不包括日期
-
%y - 没有世纪数的十进制年份(范围从 00 到 99)
-
%Y - 包括世纪数的十进制年份
-
%Z - 时区名或缩写
-
%% - 文字上的 `%' 字符
|
9:
microtime -- 返回当前 UNIX 时间戳和微秒数 |
10: