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

PHP日期时间函数:日期的格式化、计算及时区设置

发布时间:2023-06-22 20:45:33

PHP中有很多日期时间处理函数。本文主要介绍日期的格式化、计算和时区设置。

日期格式化

在PHP中,使用date()函数可以将日期和时间格式化为字符串。函数的语法如下:

string date (string $format [, int $timestamp ])

参数说明:

- format:必填参数,表示日期和时间的格式。

- timestamp:可选参数,表示时间戳。默认值是当前时间,可以是一个Unix时间戳(从1970年1月1日开始的秒数),也可以是一个包含日期的文本字符串。如果省略,将使用当前时间。

format参数的格式包含各种占位符,用于指定输出格式。常用的占位符有:

- Y:四位数的年份(例如:2019)

- y:两位数的年份(例如:19)

- m:月份,有前导零(01-12)

- M:月份的缩写名称(例如:Jan至Dec)

- n:月份,没有前导零(1-12)

- d:月份中的天数,有前导零(01-31)

- D:星期几的缩写名称(例如:Mon至Sun)

- j:月份中的天数,没有前导零(1-31)

- H:小时,24小时制,有前导零(00-23)

- h:小时,12小时制,有前导零(01-12)

- i:分钟,有前导零(00-59)

- s:秒数,有前导零(00-59)

- A:大写的“AM”或“PM”

- a:小写的“am”或“pm”

下面是一些常见的例子:

echo date("Y-m-d"); // 2019-10-31
echo date("Y-m-d H:i:s"); // 2019-10-31 20:30:45
echo date("D M j, Y"); // Thu Oct 31, 2019

日期计算

PHP使用DateTime类进行日期计算。DateTime类的构造函数可以接受一个日期字符串或UNIX时间戳,返回一个DateTime对象。例如:

$date = new DateTime('2019-10-31');

在这个DateTime对象上,可以使用add()和sub()函数进行日期计算。例如:

$date = new DateTime('2019-10-31');
$date->add(new DateInterval('P1D')); // 加1天
$date->sub(new DateInterval('P2M')); // 减2个月

在这里,DateInterval对象表示时间间隔,例如:“P1D”表示1天,“P2M”表示2个月。

时区设置

默认情况下,PHP使用服务器的时区。可以使用date_default_timezone_set()函数来设置时区。例如:

date_default_timezone_set('Asia/Shanghai');

在这里,'Asia/Shanghai'表示上海时区。可用的时区列表可以在这里找到:http://php.net/manual/en/timezones.php

另外,通过ini_set()函数可以设置PHP的全局设置。例如:

ini_set('date.timezone', 'Asia/Shanghai');

在这里,'Asia/Shanghai'表示上海时区。和date_default_timezone_set()函数的作用是一样的。

总结

本文介绍了PHP日期时间函数的常用方法:日期的格式化、计算和时区设置。希望本文对大家有所帮助。