我有一个号码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";
答案 0 :(得分:5)
使用Modulus运算符获取正确的天数:
RewriteEngine On
<?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;
?>
中的结果。
更多详情:http://php.net/manual/en/language.operators.arithmetic.php
答案 1 :(得分:4)
你知道有傻瓜(2月有时候有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";
?>
对于start_date,您可以使用特定日期!也适用于end_date 这是正确的方法,因此每一个年级都会被观察到!
答案 2 :(得分:0)
请尝试以下代码
$months = floor(144 / 30);
$days = 144 - ($months*30);
echo $months ."Months " . $days ."days";
答案 3 :(得分:0)
PHP有完美的类来处理日期:DateTime
此课程允许您在两个日期之间获得差异DateTime::diff并根据需要使用DateTime::format格式化结果
是的,这不完全是你想要的。但它允许您获得精确的日期和月份值。
所以,我建议你先阅读文档。我希望你能找到一种方法来实现它。
答案 4 :(得分:0)
我的方法
$days = 144;
$month = $days/30;
list($month,$days) = explode(".",$month);
$days = "0.".$days;
echo $month."</br>";
echo $days*30;