日期和时间
日期是的日常生活中常见一部分,就容易不假思索地与时间想在一起。PHP 还提供了强大的工具函数来简化操作日期的时间计算.
用 time() 函数得到时间戳
PHP 的 time() 函数会返回给你当前的日期和时间,它不需要参数,但会返回一个整数。
time() 函数返回的整数代表自 1970 年 1 月 1 日午夜格林尼治时间到现在经过的秒数。这一刻被称为新纪元时间,之后经过的秒数,被称为一个时间戳。
1 2 3 |
<?php print time(); ?> |
他将会产生以下结果
1 |
948316201 |
这是很难理解的。但是 PHP 提供了优秀的工具将一个时间戳转换成人类熟悉的一种形式。
用 getdate()函数来转换时间戳
获取当前日期 getdate() 函数可以接受一个时间戳,并返回一个关联数组,其中就包含关于日期的信息。如果你省略了时间戳,time() 返回当前的时间戳。
下表列出了函数 getdate() 返回的数组元素中的单元。
1 2 3 4 5 6 7 8 9 10 11 12 |
键名 说明 返回值例子 "seconds" 秒的数字表示(0 到 59) 20 "minutes" 分钟的数字表示(0 到 59) 29 "hours" 小时的数字表示(0 - 23) 22 "mday" 月份中第几天的数字表示(1 - 31) 11 "wday" 星期中第几天的数字表示 4 "mon" 月份的数字表示(1 - 12) 7 "year" 4 位数字表示的完整年份(4 digits) 1997 "yday" 一年中第几天的数字表示( 0 - 365 ) 19 "weekday" 星期几的完整文本表示 hursday "month" 月份的完整文本表示 January 0 时间戳 948370048 |
现在你已经完全掌握了日期和时间函数。你可以得到任何你想得到的日期和时间格式。
例子
试运行下面的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $date_array = getdate(); foreach ( $date_array as $key => $val ) { print "$key = $val<br />"; } $formated_date = "Today's date: "; $formated_date .= $date_array[mday] . "/"; $formated_date .= $date_array[mon] . "/"; $formated_date .= $date_array[year]; print $formated_date; ?> |
将会产生以下结果
1 2 3 4 5 6 7 8 9 10 11 12 |
seconds = 27 minutes = 25 hours = 11 mday = 12 wday = 6 mon = 5 year = 2007 yday = 131 weekday = Saturday month = May 0 = 1178994327 Today's date: 12/5/2007 |
用 date() 函数把时间戳转化成日期
date() 函数返回一个格式化字符串代表一个日期。你可以练习大量的转换格式函数操作,date() 函数返回一个字符串。
1 |
date(format,timestamp) |
date (格式、时间戳)选择接受一个时间戳作为第二个参数,如果忽落掉第二个参数,那么将会使用当前的时间戳作为参数。
下表列出了一个格式字符串可以包含的代码:
格式 | 说明 | 返回值例子 |
---|---|---|
a | 小写的上午和下午值 | 下午 |
A | 大写的上午和下午值 | 下午 |
d | 月份中的第几天,有前导零的 2 位数字 | 01 到 31 |
D | 星期中的第几天,文本表示,3 个字母 | Mon 到 Sun |
j | 月份中的第几天,没有前导零 | 1 到 31 |
F | 月份名称 | January 到 December |
h | 小时,12 小时格式,有前导零 | 01 到 12 |
H | 小时,24 小时格式,有前导零 | 00 到 23 |
g | 小时,12 小时格式,没有前导零 | 1 到 12 |
G | 小时,24 小时格式,没有前导零 | 0 到 23 |
i | 有前导零的分钟数 | 00 到 59 |
j | 一月里的天数 | 20 |
l | (“L”的小写字母)星期几,完整的文本格式 | Sunday 到 Saturday |
L | 是否为闰年 如果是闰年为 | 1,否则为 0 |
m | 数字表示的月份,有前导零 | 01 到 12 |
M | 三个字母缩写表示的月份 | Jan 到 Dec |
r | RFC 822 格式的日期 | 例如:Thu, 21 Dec 2000 16:01:07 +0200 |
n | 数字表示的月份,没有前导零 | 1 到 12 |
s | 秒数,有前导零 | 00 到 59 |
U | 从新纪元(January 1 1970 00:00:00 GMT) | 开始至今的秒数 参见 time() |
y | 2 位数字表示的年份 | 例如:99 或 03 |
Y | 4 位数字完整表示的年份 | 例如:1999 或 2003 |
z | 年份中的第几天 | 0 到 366 |
例子
试运行下面的例子:
1 2 3 4 5 |
<?php print date("m/d/y G.i:s<br>", time()); print "Today is "; print date("j of F Y, \a\\t g.i a", time()); ?> |
产生结果如下:
1 |
01/20/00 13.27:55 |
希望你有很好的理解根据您的需求如何格式化日期和时间。供您参考的所有日期和时间函数的完整列表中给出了 PHP 日期与时间函数。
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!