在php中将天转换为月和天

在php中将天转换为月和天,php,Php,我有一个数字144,我想转换为月和天,即我想显示3个月24天 做这件事的公式是什么?我试过很多方法,但没有用 $sub_struct_month = ($result[0] / 30) ; $sub_struct_month = floor($sub_struct_month); $sub_struct_days = ($result[0] / 30); // the rest of days $sub_struct = $sub_struct_month."m ".$sub_struct_d

我有一个数字144,我想转换为月和天,即我想显示3个月24天

做这件事的公式是什么?我试过很多方法,但没有用

$sub_struct_month = ($result[0] / 30) ;
$sub_struct_month = floor($sub_struct_month); 
$sub_struct_days = ($result[0] / 30); // the rest of days
$sub_struct = $sub_struct_month."m ".$sub_struct_days."d";
请尝试下面的代码

  $months = floor(144 / 30);
  $days = 144 - ($months*30);
  echo  $months ."Months " . $days ."days";

你知道有闰年吗(二月有时有29天)?例如,7月和8月有31天。你不能笼统地说“将144天转换为月份”,因为每个月都不同

<?php
$start_date = new DateTime(date("Y/m/d"));
$end_date = new DateTime(date("Y/m/d",strtotime("+144 days")));
$dd = date_diff($start_date,$end_date);
echo "$dd->m months $dd->d days";
?>

对于开始日期,您可以使用特定日期!也适用于结束日期
这是正确的方法,因此每年都要进行一次跳跃,所有的事情都要遵守

使用模数运算符获得适当的天数:

<?php
$result = array(144);

$sub_struct_month = ($result[0] / 30) ;
$sub_struct_month = floor($sub_struct_month); 
$sub_struct_days = ($result[0] % 30); // the rest of days
$sub_struct = $sub_struct_month."m ".$sub_struct_days."d";

echo $sub_struct;
?>

结果为
4m 24d


更多详细信息:

PHP拥有处理日期的完美类:

该类允许您获得两个日期之间的差异,并根据需要使用

是的,这不是你想要的。但它可以让您获得精确的日和月值

所以,我建议你先看一下文件。我希望您能找到一种方法,在您的案例中实现它。

我的方法

$days = 144;

$month = $days/30;

list($month,$days) = explode(".",$month);
$days = "0.".$days;
echo $month."</br>";
echo $days*30;
$days=144;
$month=$days/30;
列表($month,$days)=分解(“.”,$month);
$days=“0.”.$days;
echo$month.“
”; echo$days*30;
这是一个很难回答的问题。因为你需要知道你谈论的是哪一个月,这一年是否是闰年。只有144这个数字,你无法做出可靠的预测。你的144的例子给出了从哪里开始的4个月24天?。它是从一年开始还是从给定的日期开始?使用模数发布答案。就是这样。28/29/31天怎么样?她需要一般月份计算。她指定“她需要一般月份计算”,但如果您检查她给出的值,请参阅模数运算符<代码>144%30=24明白了!好了!