1. 두 날짜 사이의 연, 월, 일 수를 계산합니다.
예: laravel 프레임워크 구현
/**
* 天数计算
* @return \Illuminate\Http\JsonResponse
*/
public function loveDateCal()
{
$start_date = $this->request('start_date');
$end_date = $this->request('end_date');
// 计算两个日期相差 年 月 日
$diff_date = $this->diffDate($start_date, $end_date);
$data = [
'year_number' => intval($diff_date['y']),
'month_number' => $diff_date['m'],
'day_number' => $diff_date['d'],
'total_day_number' => $diff_date['a'],
];
return $this->jsonSuc(['result' => $data ?? []]);
}
/**
* function:计算两个日期相隔多少年,多少月,多少天
* param string $date1[格式如:2020-11-5]
* param string $date2[格式如:2023-12-01]
* return array array('年','月','日');
*/
function diffDate($date1, $date2)
{
$datetime1 = new \DateTime($date1);
$datetime2 = new \DateTime($date2);
$interval = $datetime1->diff($datetime2);
$time['y'] = $interval->format('%Y');
$time['m'] = $interval->format('%m');
$time['d'] = $interval->format('%d');
$time['h'] = $interval->format('%H');
$time['i'] = $interval->format('%i');
$time['s'] = $interval->format('%s');
$time['a'] = $interval->format('%a'); // 两个时间相差总天数
return $time;
}