欢迎访问宙启技术站
智能推送

PHP时间函数的使用

发布时间:2023-05-31 19:58:43

PHP中有很多时间函数,这些函数可以帮助我们在程序中获取、转换、格式化时间,也可以进行时间运算等。下面就来介绍一下PHP时间函数的使用。

1.获取当前时间

使用PHP的date()函数,可以获取当前时间。date()函数有两个参数, 个参数是时间格式,第二个参数是时间戳(可选),如果不设置第二个参数,则默认获取当前时间的时间戳。

例如,要获取当前的年月日,可以这样写:

echo date("Y-m-d"); //输出如:2019-10-28

要获取当前的年月日时分秒,可以这样写:

echo date("Y-m-d H:i:s"); //输出如:2019-10-28 11:11:11

我们也可以把当前时间的时间戳作为第二个参数传入date()函数中,获取某个时间的格式化。

例如,获取2019年10月1日的时间戳,并将其转换为格式化的时间:

$time = strtotime("2019-10-01"); //获取时间戳
echo date("Y-m-d H:i:s", $time); //输出如:2019-10-01 00:00:00

2.转换时间格式

PHP中有两个非常重要的函数可以进行时间格式的转换,分别是strtotime()和date()函数。

strtotime()函数可以把时间字符串转换为时间戳,例如,把2019年10月1日的时间字符串转换为时间戳:

$time = strtotime("2019-10-01"); //获取时间戳
echo $time; //输出如:1569859200

date()函数可以把时间戳转换为格式化的时间字符串,例如,把时间戳转换为常用的“年-月-日”格式:

$time = 1569859200; //时间戳
echo date("Y-m-d", $time); //输出如:2019-10-01

3.时间运算

PHP中可以对时间进行加、减、比较等运算。

加法运算可以使用strtotime()函数,例如,获取某天往后N天的日期:

$now = date("Y-m-d"); //当前日期
$days = 7; //往后7天
$new_date = date("Y-m-d", strtotime("$now +$days day")); //格式化新日期
echo $new_date; //输出如:2019-11-04

同理,减法运算也可以使用strtotime()函数,例如,获取某天往前N天的日期:

$now = date("Y-m-d"); //当前日期
$days = 7; //往后7天
$new_date = date("Y-m-d", strtotime("$now -$days day")); //格式化新日期
echo $new_date; //输出如:2019-10-21

比较运算可以使用strtotime()函数来获取两个时间的时间戳,然后比较大小。

例如,比较当前时间和某个时间的大小:

$now = time(); //当前时间戳
$compare = strtotime("2020-01-01 00:00:00"); //某个时间的时间戳
if ($now > $compare) {
    echo "现在时间晚于2020年1月1日"; //输出如:现在时间晚于2020年1月1日
} else {
    echo "现在时间早于2020年1月1日";
}

4.转换时区

PHP中,我们可以通过修改默认时区,来改变时间的显示,使之符合不同时区的需求。

默认时区可以通过在PHP文件的开头,使用date_default_timezone_set()函数来设置,例如:

date_default_timezone_set("Asia/Shanghai"); //设置时区为上海

然后,我们就可以使用date()函数来格式化时间了。

以上就是PHP时间函数的使用,掌握这些函数在实际应用中能够让我们更方便地处理时间相关问题。