/** * 根据时间返回宝宝多大 * @param time $day 宝宝生日日期 * @param null $time 当前时间 * @param null type type= 1 返回宝宝距离今日多少月不满一个月返回0 * */ function babytime($day, $time = null, $type = null) { //把日期拆分 ,年 ,月,日 ,分别对比 if (!isset($time)) { $time = date("Y-n-j"); } list($Y1, $m1, $d1) = explode('-', $day); list($Y2, $m2, $d2) = explode('-', $time); //判断是否在同一年 if ($Y2 == $Y1) { //判断日 if ($d2 > $d1) { $y = 0; $m = $m2 - $m1; $d = $d2 - $d1; } elseif ($d1 > $d2) { $y = 0; $m = $m2 - $m1 - 1; $days = date('t', strtotime("$time -1 month")); $d = $days - $d1 + $d2; } else { if ($m2 == $m1) { $y = 0; $m = 0; $d = 0; } else { $y = 0; $m = $m2 - $m1; $d = 0; } } } elseif ($Y2 > $Y1) { //判断月 if ($m2 > $m1) { if ($d2 > $d1) { $y = $Y2 - $Y1; $m = $m2 - $m1; $d = $d2 - $d1; } elseif ($d2 < $d1) { $y = $Y2 - $Y1; $m = $m2 - $m1 - 1; $days = date('t', strtotime(-1, $time)); $d = $days - $d1 + $d2; } else { $y = $Y2 - $Y1; $m = $m2 - $m1; $d = 0; } } elseif ($m2 < $m1) { if ($d2 > $d1) { $y = $Y2 - $Y1 - 1; $m = 12 - $m1 + $m2; $d = $d2 - $d1; } elseif ($d2 < $d1) { $y = $Y2 - $Y1 - 1; $m = 12 - $m1 + $m2 - 1; $days = date('t', strtotime(-1, $time)); $d = $days - $d1 + $d2; } else { $y = $Y2 - $Y1 - 1; $m = 12 - $m1 + $m2; $d = 0; } } else { if ($d2 > $d1) { $y = $Y2 - $Y1; $m = 0; $d = $d2 - $d1; } elseif ($d2 < $d1) { $y = $Y2 - $Y1 - 1; $m = 11; $days = date('t', strtotime(-1, $time)); $d = $days - $d1 + $d2; } else { $y = $Y2 - $Y1; $m = 0; $d = 0; } } } if ($type) { $month = $y * 12 + $m; return $month; } else { //处理字符串显示 if ($y) { $y = $y . '岁'; } else { $y = ''; } if ($m) { $m = $m . '个月'; } else { $m = ''; } if ($d+1) { $d = $d+1 . '天'; } else { $d = ''; } return $y . $m . $d; } }
根据宝宝生日返回当前宝宝年龄
最新推荐文章于 2022-12-13 16:27:24 发布