第7章 用PHP处理日期和时间
日期和时间的处理是程序开发人员经常要面对的问题。很多编程语言都提供对时间、日期处理机制,但有的语言处理机制比较繁琐,甚至难以理解。幸运的是,PHP程序员不会过多担心对时间、日期的处理,因为PHP提供非常易用的函数来支持程序中对时间和日期的处理。
本章主要涉及的知识点有:
❑获取时间和检查时间的有关函数及其用法
❑如何格式化一个日期和时间
❑UNIX时间戳的概念
❑验证日期是否有效
7.1 获取格式化的日期和时间
在PHP中使用函数date()可以得到一个格式化的日期和时间。该函数的语法如下所示。
string date(string$format[,int timestamp]);
函数date()有两个参数:第1个参数$format是一个格式化的字符串;第2个参数是可选的,它表示UNIX的时间戳,关于UNIX时间戳将在下一节介绍。该函数将时间戳$timestamp按字符串$format的格式返回,如果没有提供第2个参数$timestamp,函数将默认使用本地当前时间,即将本地当前时间格式化输出。例如,下面是一行调用函数date()的代码。
echo date('Y-m-d');
这段代码输出的结果类似于:2012-12-01。代码中的'Y-m-d'就是一个格式化的字符串,它告诉函数date(),按4位数字的年份、两位数字的月份和两位数字的天数格式化日期和时间,因为没有给函数date()传入第2个参数,该函数将会格式化本地的当前时间。表7-1列出了函数date格式化参数可以采用的常用字符。
代码7-1演示了这些格式化字符在函数date()中的用法。
代码7-1 通过函数date()获取格式化的日期和时间7-1.php
01 <?php
02 echo"<b>格式化当前时间</b><br/>";
03 echo date('Y-m-j');//按年月日格式输出日期
04 echo"<br/>";
05 echo"<br/>";
06
07 echo"今天是一年中的第".date('z')."天";//获取一年中的第几天
08 echo"<br/>";
09 echo"<br/>";
10
11 echo date('M jS,Y l');
12 echo"<br/>";
13 echo"<br/>";
14
15 echo"程序执行时间:".date('H:i:s');//获取当前时间
16 ?>
【代码解析】这段程序格式化当前系统时间。第3行输出年月日,这里用-来间隔;第7行输出一年中第几天;第15行按指定的格式输出日期,以冒号为间隔。执行的结果如图7-1所示。