今天我们要来聊聊 PHP 中的日期时间函数——date()。date() 函数是 PHP 提供的一个用来格式化日期的函数。我们平时在开发 PHP 程序时,常常需要获取当前时间、显示指定时间格式等操作,此时用到 date() 函数就可以非常方便地实现这些功能。
date() 函数的基本语法如下:
date(format, timestamp)
其中 format 参数是必须传入的,表示日期的格式,而 timestamp 参数则是可选的,表示需要转换的时间戳。如果不传入 timestamp 参数,则默认使用当前时间(即 time() 函数的返回值)。
下面看看一些具体的例子:
<?php
echo date("Y-m-d"); // 输出:2022-01-05
echo date("Y/m/d"); // 输出:2022/01/05
echo date("Y.m.d"); // 输出:2022.01.05
echo date("Y年m月d日"); // 输出:2022年01月05日
echo date("D M j G:i:s T Y"); // 输出:Wed Jan 5 14:18:08 EST 2022
?>
在上面的例子中,我们分别使用了不同的日期格式,用来格式化当前日期。不难看出,使用 date() 函数非常方便,使用起来也非常灵活。另外,需要注意的是,date() 函数中的 format 参数中使用的字符均是英文字符。
除了格式化当前时间之外,date() 函数还支持格式化指定的时间戳。下面来看一个例子:
<?php
$time = 1641389740; // 随意指定一个时间戳
echo date("Y-m-d H:i:s", $time); // 输出:2022-01-05 10:55:40
?>
在上面的例子中,我们将时间戳 $time 格式化为了指定的日期格式。这种操作在实际开发中也非常常见,例如在对日志进行统计分析时,就需要对各个时间段的日志进行汇总。此时,对时间戳进行格式化是非常必要的。
需要注意的是,date() 函数中的 timestamp 参数可以是任意整数值,表示相对于 Unix 时间戳的秒数。通常情况下,我们会将时间戳设置为当前时间减去或者加上一定的秒数,以此来获取前后一定时间范围的日期。
除此之外,date() 函数还支持一些其他的参数,例如获取当前时间所在的星期,如下所示:
<?php
echo date("l"); // 输出:Wednesday
echo date("D"); // 输出:Wed
echo date("N"); // 输出:3
?>
在上面的例子中,我们分别获取了当前时间的星期(使用 l 参数)、星期缩写(使用 D 参数)、ISO-8601 标准的星期编号(使用 N 参数)。需要注意的是,date() 函数中支持的参数非常多,这里只列举了几个常用的参数。
最后,需要注意的是,使用 date() 函数格式化日期时,输出的日期格式与当前服务器所在的时区相关联。因此,在使用 date() 函数时,需要先设置正确的时区,否则可能会产生一些意想不到的问题。