找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 76|回复: 0

[php] php计算两个时间戳之间相差的年月日时分秒的两种方法

[复制链接] IP属地:广东省广州市荔湾区
发表于 2021-9-15 13:16:15 | 显示全部楼层 |阅读模式



  1. /**
  2. * 计算两个时间戳之间相差的日时分秒
  3. * @param int $unixTime_1 开始时间戳
  4. * @param int $unixTime_2 结束时间戳
  5. * @return array
  6. */
  7. function timeDiff($unixTime_1, $unixTime_2) {
  8.     $timediff = abs($unixTime_2 - $unixTime_1);
  9.     //计算天数
  10.     $days = intval($timediff / 86400);
  11.     //计算小时数
  12.     $remain = $timediff % 86400;
  13.     $hours = intval($remain / 3600);
  14.     //计算分钟数
  15.     $remain = $remain % 3600;
  16.     $mins = intval($remain / 60);
  17.     //计算秒数
  18.     $secs = $remain % 60;

  19.     return ['day' => $days, 'hour' => $hours, 'min' => $mins, 'sec' => $secs];
  20. }

  21. //Array (
  22. //    [day] => 1
  23. //    [hour] => 0
  24. //    [min] => 3
  25. //    [sec] => 31
  26. //)
复制代码

  1. /**
  2. * 计算两个时间戳之间相差的日时分秒
  3. * @param string $date1 开始时间
  4. * @param string $date2 结束时间
  5. * @return array
  6. */
  7. function diffDate($date1, $date2) {
  8.     $datetime1 = new \DateTime($date1);
  9.     $datetime2 = new \DateTime($date2);

  10.     $interval = $datetime1->diff($datetime2);

  11.     $time['year'] = $interval->format('%Y');
  12.     $time['month'] = $interval->format('%m');
  13.     $time['day'] = $interval->format('%d');
  14.     $time['hour'] = $interval->format('%H');
  15.     $time['min'] = $interval->format('%i');
  16.     $time['sec'] = $interval->format('%s');
  17.     $time['days'] = $interval->format('%a'); // 两个时间相差总天数

  18.     return $time;
  19. }

  20. //Array (
  21. //    [year] => 00
  22. //    [month] => 1
  23. //    [day] => 2
  24. //    [hour] => 00
  25. //    [min] => 3
  26. //    [sec] => 31
  27. //    [days] => 33
  28. //)
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|西兴社区 ( 蜀ICP备2022005627号 )|网站地图

GMT+8, 2024-9-17 04:27 , Processed in 0.640204 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表