簡體   English   中英

使用DateInterval計算兩個日期之間的月份,而不是在一年內換行

[英]Calculate months between two dates using DateInterval without wrapping within a year

我知道這個話題非常耗盡,但顯然還不夠!

$temp_d1 = new DateTime(date('Y-m-d', $fromTime)); // 2012-01-01
$temp_d2 = new DateTime(date('Y-m-d', $endTime)); // 2013-02-01
$interval = $temp_d2->diff($temp_d1); 
$monthsAhead = $interval->format('%m'); // returns 1, but I am expecting 13

如何計算兩個日期之間的月數,而不包括在12個月的范圍內?

我確切地混淆了什么:

$monthsAhead = $interval->format('%m');

確實。

顯然,格式('%m')只是格式化DateInterval對象的月份組件 ,不一定“ 給我幾個月的間隔 ”。

就我而言,我一直在尋找/做到這一點:

$monthsAhead = $interval->m + ($interval->y * 12);

http://www.php.net/manual/en/class.dateinterval.php

希望這對未來的其他傻瓜有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM