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: