我想从40年(14609天)中扣除300天,我希望得到的结果如下;
xx年 XX个月 XX天
我知道我必须在这里编写我的代码,但问题是,我不知道如何编写代码。
谢谢。
答案 0 :(得分:1)
好吧,正如NateB所说,你能得到的最好的是近似值。每年平均在12个月内平均延长365.25天。平均月份为(365.25/12)
,即30.4375天。这让我们得到以下代码:
$total_days = 14610-300;
$total_months = $total_days/30.4375;
$days_left = fmod($total_days, 30.4375);
$total_years = $total_months/12;
$months_left = fmod($total_months, 12);
echo floor($total_years)." years, ".floor($months_left)." months, ".round($days_left)." days";
返回:
39年,2个月,4天
请注意,您可以执行小数甚至计算出小时数而不是舍入天数:
echo floor($total_years)." years, ".floor($months_left)." months, ".number_format($days_left, 1)." days";
返回:
39年,2个月,4.4天
我认为你不能做得比这更好。