PHP 如何从 40 年减去 300 天?
How to deduct 300 days from 40 years with PHP?
我想从 40 年(14609 天)中减去 300 天,我想得到这样的结果;
xx 年
XX 个月
XX 天
我知道我必须在这里编写代码,但问题是,我不知道如何编写代码。
谢谢。
好吧,正如 NateB 所说,你能得到的最好的是近似值。每年平均有 365.25 天,跨越 12 个月。平均一个月将有 (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";
这个returns:
39 years, 2 months, 4 days
请注意,您可以计算小数或计算小时数而不是四舍五入的天数:
echo floor($total_years)." years, ".floor($months_left)." months, ".number_format($days_left, 1)." days";
这个returns:
39 years, 2 months, 4.4 days
我认为对于您的要求,没有比这更好的了。
我想从 40 年(14609 天)中减去 300 天,我想得到这样的结果;
xx 年 XX 个月 XX 天
我知道我必须在这里编写代码,但问题是,我不知道如何编写代码。
谢谢。
好吧,正如 NateB 所说,你能得到的最好的是近似值。每年平均有 365.25 天,跨越 12 个月。平均一个月将有 (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";
这个returns:
39 years, 2 months, 4 days
请注意,您可以计算小数或计算小时数而不是四舍五入的天数:
echo floor($total_years)." years, ".floor($months_left)." months, ".number_format($days_left, 1)." days";
这个returns:
39 years, 2 months, 4.4 days
我认为对于您的要求,没有比这更好的了。