PHP 日期时间:计算间隔日期 1 个改进

日期时间的加减

PHP 函数 strtotime — 将任何字符串的日期时间描述解析为 Unix 时间戳

strtotime(string $datetime, int $now = time()): int

$now 默认为当前时间;如果传入自定义时间,则为你传入的时间,出入的值为时间戳
时间戳计算

$date = '2020-12-1 14:32'; $time = strtotime($date); // 将格式化时间转为时间戳

计算昨天和明天的时间

// 当前时间:2021-11-03 23:51:00 //昨天 echo date('Y-m-d H:i:s',strtotime('-1 days')); //输出 2021-11-02 23:51:00 // 明天 echo date('Y-m-d H:i:s',strtotime('+1 days')); // 2021-11-04 23:51:00

计算15分钟后时间

// 当前时间 2021-11-03 23:52:01 echo date('Y-m-d H:i:s',strtotime('+15 minutes')); //输出 2021-11-04 00:07:01

年月日时间计算用法

ini_set('date.timezone','Asia/Shanghai'); // 需要注意的是,为了防止测试时时间时区不对,可以在头部加入这句 // 当前时间 echo date('Y-m-d H:i:s') . "<br>"; // 当前时间加1分钟 echo date('Y-m-d H:i:s',strtotime('+1 minutes')) . "<br>"; // 当前时间加1小时 echo date('Y-m-d H:i:s',strtotime('+1 hours')) . "<br>"; // 当前时间加1天 echo date('Y-m-d H:i:s',strtotime('+1 days')) . "<br>"; // 当前时间加1个星期 echo date('Y-m-d H:i:s',strtotime('+1 week')) . "<br>"; // 当前时间加1个月 echo date('Y-m-d H:i:s',strtotime('+1 month')) . "<br>"; // 当前时间加1年 echo date('Y-m-d H:i:s',strtotime('+1 year')) . "<br>"; // 当前时间减1分钟 echo date('Y-m-d H:i:s',strtotime('-1 minutes')) . "<br>"; // 当前时间减1小时 echo date('Y-m-d H:i:s',strtotime('-1 hours')) . "<br>"; // 当前时间减1天 echo date('Y-m-d H:i:s',strtotime('-1 days')) . "<br>"; // 当前时间减1个星期 echo date('Y-m-d H:i:s',strtotime('-1 week')) . "<br>"; // 当前时间减1个月 echo date('Y-m-d H:i:s',strtotime('-1 month')) . "<br>"; // 当前时间减1年 echo date('Y-m-d H:i:s',strtotime('-1 year')) . "<br>"; // 2020-12-1 14:32 加 15分钟 $date = '2020-12-1 14:32'; $time = strtotime($date); // 需要先将时间转为时间戳 echo date('Y年m月d日 H:i:s',strtotime('+15 minutes',$time)); // 输出 2020年12月01日 14:47:00

时间差计算

// 当前时间 2021-11-04 00:18:59 echo date('Y-m-d H:i:s') . '<br>'; $current_time = time(); // 未来时间 $future_time = '2022-5-1 12:12:12'; // 先将未来的时间转换为时间戳 $future_time = strtotime($future_time); // 时间差 $time = $future_time - $current_time; // 秒 echo $time . '<br>'; // 输出 15421993 // 分钟 echo floor(($time / 60)) . '<br>'; // 输出 257033 // 小时 echo floor(($time / 3600)) . '<br>'; // 输出 4283 // 天 echo floor(($time / 86400)) . '<br>'; // 输出 178 ``
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!