日期是日常生活中的重要组成部分, PHP还提供了用于日期的强大工具,使操作日期变得容易。
time()函数
PHP的 time()函数为您提供了有关当前日期和时间的所有所需信息,它不需要参数,但返回整数。
time()返回的整数表示自1970年1月1日午夜GMT以来经过的秒数,此刻称为UNIX时期,此后经过的秒数称为时间戳。
<?php print time(); ?>
这将产生以下输出-
1480930103
这是很难理解的东西。但是PHP提供了出色的工具,可以将时间戳转换为人类可以接受的形式。
getdate()函数
函数 getdate()以选择接受时间戳,并返回一个包含有关日期信息的关联数组。如果省略时间戳,则它与time()返回的当前时间戳一起使用。
下表列出了getdate()返回的数组中包含的元素。
Sr.No | Key & Description | Example |
---|---|---|
1 |
seconds 分钟后的秒数(0-59) |
20 |
2 |
minutes 一小时后的分钟数(0-59) |
29 |
3 |
hours 一天中的小时数(0-23) |
22 |
4 |
mday 每月的某天(1-31) |
11 |
5 |
wday 星期几(0-6) |
4 |
6 |
mon 一年中的月份(1-12) |
7 |
7 |
year 年份(4位) |
1997 |
8 |
yday 一年中的哪一天(0-365) |
19 |
9 |
weekday 一周中的天 |
Thursday |
10 |
month 一年中的月份 |
January |
11 |
0 时间戳记 |
948370048 |
现在,您可以完全控制日期和时间。您可以将日期和时间设置为所需的任何格式。
<?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; ?>
这将产生以下输出-
seconds=10 minutes=29 hours=9 mday=5 wday=1 mon=12 year=2016 yday=339 weekday=Monday month=December 0=1480930150 Today's date: 5/12/2016
date()函数
date()函数返回表示日期的格式化字符串,您可以使用必须传递给它的字符串参数对date()返回的格式进行大量控制。
date(format,timestamp)
如果省略,则date()可以选择接受时间戳,然后将使用当前日期和时间。您包含在传递给date()的格式字符串中的其他数据都将包含在返回值中。
下表列出了格式字符串可以包含的代码-
Sr.No | Format & Description | Example |
---|---|---|
1 |
a 小写的" am"或" pm" |
pm |
2 |
A " AM"或" PM"大写 |
PM |
3 |
d 一个月中的第几天,前导零 |
20 |
4 |
D 星期几(三个字母) |
Thu |
5 |
F 月份名称 |
January |
6 |
h 小时(12小时制-前导零) |
12 |
7 |
H 小时(24小时制-前导零) |
22 |
8 |
g 小时(12小时制-无前导零) |
12 |
9 |
G 小时(24小时制-无前导零) |
22 |
10 |
i 分钟(0-59) |
23 |
11 |
j 每月的某天(无前导零) |
20 |
12 |
l(小写的" L") 一周中的天 |
Thursday |
13 |
L 年(" 1"代表是," 0"代表否) |
1 |
14 |
m 一年中的月份(数字-前导零) |
1 |
15 |
M 一年中的月份(三个字母) |
Jan |
16 |
r RFC 2822格式化日期 |
Thu, 21 Dec 2000 16:01:07 +0200 |
17 |
n 一年中的月份(数字-无前导零) |
2 |
18 |
s 秒数 |
20 |
19 |
U 时间戳记 |
948372444 |
20 |
y 年(两位数) |
06 |
21 |
Y 年(四位数) |
2006 |
22 |
z 一年中的某天(0-365) |
206 |
23 |
Z 与格林尼治标准时间的偏移量(以秒为单位) |
+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()); ?>
这将产生以下输出-
12/05/16 9.29:47Today is 5 2016f December 2016, at 9.29 am
希望您对如何根据要求格式化日期和时间有很好的了解。 作为参考,所有日期和时间函数的完整列表在 PHP Date & Time Functions.