PHP中日期时间处理的常用函数有哪些
PHP中的日期时间处理非常常见和重要,因为在开发中,需要处理各种各样的日期和时间,比如时间差、字符串转日期、日期和时间格式化等等,本篇文章将总结出PHP中日期时间处理的常用函数,并对它们进行详细的说明。
一、时间戳的处理
1. time()
time() 函数返回当前的 Unix 时间戳(即从1970年1月1日 00:00:00 GMT起至现在的总秒数)。
示例:
echo time(); // 1630476149
2. strtotime()
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
示例:
echo strtotime('2021-09-01 12:00:00'); // 1630507200
echo strtotime('next Monday'); // 1630982400
echo strtotime('+1 day'); // 1630562573
3. date()
date() 函数通过将日期和时间格式化为字符串,将 Unix 时间戳转换为可读的日期和时间。
示例:
echo date('Y-m-d H:i:s'); // 2021-09-01 09:25:58
二、日期时间格式化
1. date()
date() 函数格式化一个本地日期/时间,并返回格式化后的字符串。它有两个参数, 个参数为日期格式化字符串,第二个参数为可选的 Unix 时间戳。
示例:
echo date('Y-m-d H:i:s'); // 2021-09-01 09:30:06
echo date('Y年m月d日 H时i分s秒'); // 2021年09月01日 09时30分06秒
2. gmdate()
gmdate() 函数和 date() 函数类似,不同的是它返回的是 GMT(格林威治标准时间)。
示例:
echo gmdate('Y-m-d H:i:s'); // 2021-09-01 01:30:06
echo gmdate('Y年m月d日 H时i分s秒'); // 2021年09月01日 01时30分06秒
3. strtotime()
之前已经介绍过 strtotime() 函数,它也可以用来将日期时间格式化为 Unix 时间戳。
示例:
echo strtotime('2021-09-01 12:00:00'); // 1630507200
三、日期时间的计算
1. strtotime()
strtotime() 函数之前已经介绍过,它可以计算两个时间间隔的秒数。
示例:
$now = time();
$future = strtotime('+1 day');
$diff = $future - $now;
echo $diff; // 86400
2. date_add()
date_add() 函数可以将一个 DateTime 对象加上一段时间间隔。
示例:
$date = new DateTime('2021-09-01');
$date->add(new DateInterval('P1D')); // 加上一天
echo $date->format('Y-m-d'); // 2021-09-02
3. date_diff()
date_diff() 函数可以计算两个日期之间的差。
示例:
$date1 = new DateTime('2021-09-01');
$date2 = new DateTime('2021-09-03');
$diff = date_diff($date1, $date2);
echo $diff->days; // 2
四、其他常用函数
1. strtotime()
strtotime() 函数之前已经介绍过,它不仅可以将字符串转换为 Unix 时间戳,还可以接受一个可选的第二个参数,用于指定时间的基准。
示例:
echo strtotime('2021-09-01 12:00:00', time()); // 1630507200
echo strtotime('next Monday', strtotime('2021-09-01')); // 1630982400
2. date_default_timezone_set()
date_default_timezone_set() 函数用于设置默认时区。时区对于日期和时间的处理非常重要,因为不同的时区有不同的时间偏移量。
示例:
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s'); // 2021-09-01 09:43:27
3. date_create()
date_create() 函数用于创建一个 DateTime 对象。
示例:
$date = date_create('2021-09-01');
echo $date->format('Y-m-d'); // 2021-09-01
总结
PHP 中有很多关于时间和日期计算的函数,我们本篇文章总结了日期时间处理的常用函数,包括时间戳的处理、日期时间格式化、日期时间的计算等,对于初学者来说可以快速入门,提高时间计算的效率,对开发者来说是一篇非常不错的教程。
