掌握这些PHP时间函数,让你处理时间事半功倍!
在PHP中,我们可以使用许多内置函数来处理时间。掌握这些函数可以让我们轻松地完成时间计算和处理的任务,如获取当前时间、计算时间差、格式化时间等。
1. time()
time()函数返回当前时间的UNIX时间戳。UNIX时间戳是一个数字,表示自1970年1月1日起经过的秒数。
例如,执行echo time();命令会输出当前的UNIX时间戳,如1627776190。
2. strtotime()
strtotime()函数将日期字符串解析为UNIX时间戳。该函数接受一个字符串参数,可以包含日期、时间和相对时间词,如“next week”、“+1 month”等。
例如,执行echo strtotime("2021-08-01 12:00:00");命令会输出“1627819200”,该数字是2021年8月1日12:00:00的UNIX时间戳。
3. date()
date()函数可以格式化日期和时间。该函数接受两个参数:第一个参数是日期格式,第二个参数是可选的UNIX时间戳,默认为当前时间。
例如,执行echo date("Y-m-d H:i:s");命令会输出当前的日期和时间,如“2021-08-01 15:36:30”。
4. mktime()
mktime()函数将给定的日期和时间转换为UNIX时间戳。该函数接受多个参数,包括年、月、日、时、分、秒等。
例如,执行echo mktime(0, 0, 0, 8, 1, 2021);命令会输出“1627776000”,该数字是2021年8月1日0:00:00的UNIX时间戳。
5. time()
time()函数返回当前时间的UNIX时间戳。UNIX时间戳是一个数字,表示自1970年1月1日起经过的秒数。
例如,执行echo time();命令会输出当前的UNIX时间戳,如1627776190。
6. strtotime()
strtotime()函数将日期字符串解析为UNIX时间戳。该函数接受一个字符串参数,可以包含日期、时间和相对时间词,如“next week”、“+1 month”等。
例如,执行echo strtotime("2021-08-01 12:00:00");命令会输出“1627819200”,该数字是2021年8月1日12:00:00的UNIX时间戳。
7. date()
date()函数可以格式化日期和时间。该函数接受两个参数:第一个参数是日期格式,第二个参数是可选的UNIX时间戳,默认为当前时间。
例如,执行echo date("Y-m-d H:i:s");命令会输出当前的日期和时间,如“2021-08-01 15:36:30”。
8. mktime()
mktime()函数将给定的日期和时间转换为UNIX时间戳。该函数接受多个参数,包括年、月、日、时、分、秒等。
例如,执行echo mktime(0, 0, 0, 8, 1, 2021);命令会输出“1627776000”,该数字是2021年8月1日0:00:00的UNIX时间戳。
9. date_diff()
date_diff()函数计算两个日期之间的时间差,并返回一个DateInterval对象。该函数接受两个DateTime对象作为参数,可以使用new DateTime()创建。
例如,执行以下代码可以计算2021年8月1日和2022年1月1日之间的天数差:
$date1 = new DateTime("2021-08-01");
$date2 = new DateTime("2022-01-01");
$diff = date_diff($date1, $date2);
echo $diff->format('%a days');
输出结果为“153 days”。
10. date_add()
date_add()函数在DateTime对象上添加一段时间间隔。该函数接受两个参数:第一个参数是DateTime对象,第二个参数是DateInterval对象。
例如,执行以下代码可以将2021年8月1日加上10天:
$date1 = new DateTime("2021-08-01");
$interval = new DateInterval("P10D");
$date1->add($interval);
echo $date1->format('Y-m-d');
输出结果为“2021-08-11”。
11. date_sub()
date_sub()函数从DateTime对象中减去一段时间间隔。该函数用法与date_add()相同。
例如,执行以下代码可以将2021年8月1日减去10天:
$date1 = new DateTime("2021-08-01");
$interval = new DateInterval("P10D");
$date1->sub($interval);
echo $date1->format('Y-m-d');
输出结果为“2021-07-22”。
总结一下,以上这些PHP时间函数可以大大简化我们的时间计算和处理。在开发中,我们可以根据实际需要选用不同的函数来完成时间相关的各种任务。掌握这些函数,可以让我们的工作事半功倍。
