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

PHP日期和时间处理函数:10个实用函数推荐

发布时间:2023-08-30 16:53:51

在PHP中,有许多日期和时间处理的函数可用于处理各种日期和时间的操作。以下是10个实用的PHP日期和时间处理函数:

1. date():用于获取当前日期和时间的字符串表示。它接受一个格式字符串作为参数,可以根据需要设置各种日期和时间的格式。

echo date('Y-m-d H:i:s'); // 输出当前日期和时间,例如2019-08-27 12:34:56

2. strtotime():用于将日期和时间字符串转换为Unix时间戳。它接受一个日期字符串作为参数,并返回对应的Unix时间戳。

echo strtotime('2019-08-27 12:34:56'); // 输出1566914096

3. time():用于获取当前的Unix时间戳。它返回自1970年1月1日以来经过的秒数。

echo time(); // 输出当前的Unix时间戳

4. strtotime()和date()的组合:通过使用strtotime()将日期字符串转换为Unix时间戳,然后再使用date()将Unix时间戳格式化为指定的日期和时间格式。

echo date('Y-m-d', strtotime('next Monday')); // 输出下个星期一的日期,例如2019-09-02

5. mktime():用于根据给定的日期和时间创建一个Unix时间戳。它接受一个小时、分钟、秒、月、日和年的参数,并返回对应的Unix时间戳。

echo mktime(12, 34, 56, 8, 27, 2019); // 输出1566893696

6. date_diff():用于计算两个日期之间的差异。它接受两个DateTime对象作为参数,并返回一个DateInterval对象,可以通过该对象的属性来获取日期和时间的差异。

$date1 = date_create('2019-08-27');
$date2 = date_create('2019-09-01');
$diff = date_diff($date1, $date2);
echo $diff->format('%R%a days'); // 输出+5 days

7. strftime():用于按本地设置格式化日期和时间。它接受一个格式化字符串和一个Unix时间戳作为参数,并返回格式化后的日期和时间字符串。

setlocale(LC_TIME, 'fr_FR');
echo strftime('%A %e %B %Y', strtotime('2019-08-27')); // 输出mardi 27 ao?t 2019

8. date_default_timezone_set():用于设置默认的时区。它接受一个时区标识符作为参数,并将默认时区设置为相应的时区。

date_default_timezone_set('Asia/Shanghai'); // 将默认时区设置为亚洲/上海
echo date('Y-m-d H:i:s'); // 输出当前日期和时间,按照亚洲/上海时区显示

9. strtotime()和date_default_timezone_set()的组合:通过先设置默认时区,然后使用strtotime()将日期字符串转换为Unix时间戳,再使用date()将Unix时间戳格式化为指定的日期和时间格式。

date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d', strtotime('next Monday')); // 输出下个星期一的日期,按照亚洲/上海时区显示

10. DateTime类:用于创建和操作日期和时间的对象。它提供了许多方法来处理日期和时间,如添加、减少、格式化、比较等操作。

$date = new DateTime('2019-08-27');
$date->add(new DateInterval('P1D'));
echo $date->format('Y-m-d'); // 输出2019-08-28

这些函数和类是PHP中常见的用于日期和时间处理的实用工具。无论你是需要获取当前日期和时间,还是计算日期和时间的差异,或者是格式化日期和时间的输出,这些函数都能帮助你轻松地完成任务。