以下是规则:
- 每个月有30天(包括二月(
- 岁月有360天
这里有一个例子:
- 初始日期:2010年2月2日
- 结束日期:2012年8月21日
天数计算为:
- 2010年2月2日至2011年2月1日=360天
- 2011年2月2日至2012年2月1日=360天
- 2012年2月2日至2012年8月21日=200天
最后200天的计算方式如下:
- 2012年2月2日至2012年8月1日=180天(6个月(
- 2012年8月2日至12年8月21日=20天
总计将920天
如有任何帮助,我们将不胜感激,并提前表示感谢。
感谢您的帮助,这就是我最终使用的:
$iDate = Carbon::createFromDate(2010, 2, 2);
$eDate = Carbon::createFromDate(2012, 8, 21);
$dateDiff = date_diff($iDate, $eDate);
$date = 0;
$date += $dateDiff->y * 360;
$date += $dateDiff->m * 30;
$date += $dateDiff->d + 1; // Need to add one more day
dd($date); // Outputs 920
这是使用Laravel,其中包括碳包装。
//2/2/10 to 2/1/11 = 360 days
$date_1 = "2/2/10";
$date_2 = "2/1/11";
$differenceFormat = "%a";
$diff = dateDifference($date_1 , $date_2 , $differenceFormat) ;
echo "<br/>";
echo "$date_1 to $date_2 = $diff days";
//2/2/11 to 2/1/12 = 360 days
$date_1 = "2/2/11";
$date_2 = "2/1/12";
$differenceFormat = "%a";
$diff = dateDifference($date_1 , $date_2 , $differenceFormat) ;
echo "<br/>";
echo "$date_1 to $date_2 = $diff days";
//2/2/12 to 8/21/12 = 200 days
$date_1 = "2/2/12";
$date_2 = "8/21/12";
$differenceFormat = "%a";
$diff = dateDifference($date_1 , $date_2 , $differenceFormat) ;
echo "<br/>";
echo "$date_1 to $date_2 = $diff days";
//final
$date_1 = "2/2/10";
$date_2 = "8/21/12";
$differenceFormat = "%a";
$diff = dateDifference($date_1 , $date_2 , $differenceFormat) ;
echo "<br/>";
echo "$date_1 to $date_2 = $diff days";
function dateDifference($date_1 , $date_2 , $differenceFormat = '%a' )
{
$datetime1 = date_create($date_1);
$datetime2 = date_create($date_2);
$interval = date_diff($datetime1, $datetime2);
return $interval->format($differenceFormat);
}