PHP日期时间函数:日期的格式化、计算及时区设置
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日期时间函数的常用方法:日期的格式化、计算和时区设置。希望本文对大家有所帮助。
