php – 从数字中查找数周和数天的月数

假设我有编号234编辑(以天为单位).我怎样才能找到几个月,几周和几天?
是否有功能或我必须自己计算?我的主要问题是月份,因为他们没有固定的天数(30,31,28).

实际上我正在编写一个应用程序,其中每个费用的输入时间以天为单位.但在视图中我不想显示“每234天收费”,而是“每x个月收费n天n天”

提前致谢

解决方法:

编辑:也增加了周数

<?PHP
$date1 = new DateTime();
$date2 = new DateTime();
$date2->modify('+241 day');

$interval = $date1->diff($date2);

$years = $interval->format('%y');
$months = $interval->format('%m');
$days = $interval->format('%d');

$weeks = (int) ($days / 7);
$days = $days % 7;

echo "$years years $months months $weeks weeks $days days";
?>

编辑:在下面没有DateTime

参考:How to calculate the difference between two dates using PHP?

$date1 = time();
$date2 = strtotime("+237 day");

$diff = abs($date2 - $date1);

$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

$weeks = (int) ($days / 7);
$days = $days % 7;

printf("%d years, %d months,%d weeks, %d days\n", $years, $months, $weeks, $days);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...