使用自定义规则计算两个日期之间的天数
Calculate number of days between 2 dates with custom rules
以下是规则:
- 每个月有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);
}
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- 两个日期时间选择器
- 如何在JavaScript中比较两个日期
- moment.js在两个时区格式的日期之间存在差异
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- Javascript两个日期选择器冲突
- 如何从日期范围选择器中获取两个日期
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 使用javascript将两个输入的日期添加在一起
- 再次使用JavaScript计算两个日期之间的天数
- Mongoose查询在两个日期时间之间提取数据
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- 如何将日期和时间拆分为两个元素
- 当前日期两个时间之间的时间