服务器之家

服务器之家 > 正文

php计算两个日期时间差(返回年、月、日)

时间:2020-07-07 14:14     来源/作者:PHP教程网

在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等。在文章中,简单地举例介绍了PHP中如何计算两个日期相差 年、月、日。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
 
/**
 +----------------------------------------------------------
 * 功能:计算两个日期相差 年 月 日
 +----------------------------------------------------------
 * @param date   $date1 起始日期
 * @param date   $date2 截止日期日期
 +----------------------------------------------------------
 * @return array      
 +----------------------------------------------------------
 */
function DiffDate($date1, $date2) {
  if (strtotime($date1) > strtotime($date2)) {
    $ymd = $date2;
    $date2 = $date1;
    $date1 = $ymd;
  }
  list($y1, $m1, $d1) = explode('-', $date1);
  list($y2, $m2, $d2) = explode('-', $date2);
  $y = $m = $d = $_m = 0;
  $math = ($y2 - $y1) * 12 + $m2 - $m1;
  $y = round($math / 12);
  $m = intval($math % 12);
  $d = (mktime(0, 0, 0, $m2, $d2, $y2) - mktime(0, 0, 0, $m2, $d1, $y2)) / 86400;
  if ($d < 0) {
    $m -= 1;
    $d += date('j', mktime(0, 0, 0, $m2, 0, $y2));
  }
  $m < 0 && $y -= 1;
  return array($y, $m, $d);
}
?>
标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
返回顶部