PHP日期和时间处理函数:10个实用函数推荐
在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中常见的用于日期和时间处理的实用工具。无论你是需要获取当前日期和时间,还是计算日期和时间的差异,或者是格式化日期和时间的输出,这些函数都能帮助你轻松地完成任务。
