如果相应的时间戳已经存储在数据库中,程序需要把时间戳转化为可读的日期和时间,才能满足应用的需要。PHP中提供了data()和getdate()等函数来实现从时间戳到通用时间的转换。
1.data()函数
srting data(string format [时间戳整数])
此函数将会返回一个字符串。该字符串就是一个指定格式的日期时间,其中format是一个字符串,用来指定输出的时间格式。时间戳整数可以为空,如果为空,就表示为当前时间的UNIX时间戳。
format参数由指定的字符构成,具体字符的含义如表7-2所示。
下面通过实例来理解format参数的使用方法。
【例7.2】
<?php date_default_timezone_set("PRC");
//定义一个当前时间的变量
$tt =time();
echo "目前的时间为:<br/>";
//使用不同的格式化字符测试输出效果
echo date ("Y年m月d日[l]H点i分s秒",$tt)."<br/>";
echo date ("y-m-d h:i:s a",$tt)."<br/>";
echo date ("Y-M-D H:I:S A",$tt)."<br/>";
echo date ("F,d,y l",$tt)." <br/>";
echo date ("Y-M-D H:I:S",$tt)." <br/>";
?>
运行结果如图7-2所示。
【案例分析】
(1)date_default_timezone_set(“PRC”)语句的作用是设置默认时区为北京时间。如果不设置,将会显示安全警告信息。
(2)格式化字符的使用方法非常灵活,只要设置字符串中包含的字符,date()函数就能将字符串替换成指定的时间日期信息。利用上面的函数可以随意输出自己需要的日期。
2.getdate()函数
getdate()函数用于获取详细的时间信息,函数的格式如下:
array getdate(时间戳整数)
getdate()函数返回一个数组,包含日期和时间的各个部分。如果它的参数时间戳整数为空,就表示直接获取当前时间戳。
下面通过实例说明此函数的使用方法和技巧。
【例7.3】
<?php date_default_timezone_set("PRC");
//定义一个时间的变量
$tm ="2021-08-08 08:08:08";
echo "时间为:". $tm. "<br/>";
//将格式转化为Unix时间戳
$tp =strtotime($tm);
echo "此时间的Unix时间戳为:".$tp. "<br/>";
$ar1 =getdate($tp);
echo "年为:". $ar1["year"]."<br/>";
echo "月为:". $ar1["mon"]."<br/>";
echo "日为:". $ar1["mday"]."<br/>";
echo "点为:". $ar1["hours"]."<br/>";
echo "分为:". $ar1["minutes"]."<br/>";
echo "秒为:". $ar1["seconds"]."<br/>";
?>
运行结果如图7-3所示。