您的位置:

PHP中getdate函数的用法

PHP内置函数getdate()函数可以获取到当前时间或者指定时间的详细信息,如年月日,星期几,小时等等。在开发过程中,使用getdate()函数可以对时间进行灵活的处理,下面我们来详细介绍其用法。

一、获取当前时间详细信息

使用getdate()函数可以获取到当前时间的详细信息,代码如下:

$date = getdate();
print_r($date);

运行结果如下:

Array
(
    [seconds] => 13
    [minutes] => 10
    [hours]   => 9
    [mday]    => 29
    [wday]    => 2
    [mon]     => 6
    [year]    => 2021
    [yday]    => 179
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1624943413
)

getdate()函数会返回一个关联数组,数组的每一个元素都是日期或时间的一部分,比如$year、$weekday、$seconds等。其中,$wday表示星期几,0表示星期日,1表示星期一,以此类推。

二、获取指定时间信息

除了获取当前时间,getdate()函数也可以获取指定时间的详细信息,只需要将指定时间作为参数传入即可。

$date = getdate(mktime(0, 0, 0, 7, 4, 1776));
print_r($date);

运行结果如下:

Array
(
    [seconds] => 0
    [minutes] => 0
    [hours]   => 0
    [mday]    => 4
    [wday]    => 4
    [mon]     => 7
    [year]    => 1776
    [yday]    => 185
    [weekday] => Thursday
    [month]   => July
    [0]       => -6106017600
)

上述例子中,我们获取了1776年7月4日这一天的详细信息。

三、使用getdate()函数格式化时间

除了获取详细时间信息,getdate()函数还可以格式化时间输出。比如,我们可以将获取到的时间戳转化为人类可读的格式。

$date = getdate();
echo $date['weekday'].', '.$date['month'].' '.$date['mday'].', '.$date['year'];

运行结果如下:

Tuesday, June 29, 2021

在上述例子中,我们使用了weekday、month和mday这些数组元素来组成一个完整的日期显示。

四、使用getdate()函数获取一周中的第几天和第几周

使用getdate()函数不仅可以获取某天详细信息,还可以获得这天是一周中的第几天以及当月的第几周。下面是一个示例代码:

$date = getdate();
$dayOfWeek = $date["wday"];
$weekOfMonth = ceil($date["mday"]/7); 
echo "Today is ".$dayOfWeek." day of the week and ".$weekOfMonth." week of the month";

运行结果如下:

Today is 2 day of the week and 5 week of the month

在上述例子中,我们使用wday来获取当前是一周中的第几天,使用mday和ceil函数来获取当月的第几周。

五、使用getdate()函数获取毫秒数

在PHP7及以上版本中,getdate()函数可以获取到毫秒数信息。使用方式如下:

$mil = round(microtime(true) * 1000);
$date = getdate($mil / 1000);
echo "Milliseconds: ".$mil."
"; print_r($date);

运行结果如下:

Milliseconds: 1624943413127
Array
(
    [seconds] => 13
    [microseconds] => 127000
    [minutes] => 10
    [hours]   => 9
    [mday]    => 29
    [wday]    => 2
    [mon]     => 6
    [year]    => 2021
    [yday]    => 179
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1624943413.127
)

在上述例子中,我们使用microtime()函数获取当前时间的微秒数,再将其转化为毫秒数。

六、小结

在本文中,我们介绍了getdate()函数的用法,包括获取当前时间详细信息、获取指定时间信息、使用getdate()函数格式化时间、获取一周中的第几天和第几周、以及获取毫秒数。getdate()函数是一个非常实用的PHP时间函数,开发者可以基于其灵活的用法对时间进行处理。