PHP 日期时间:计算间隔日期
日期时间的加减
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
``