2015-03-03 38 views
0

我有以下2個日期:獲取的飛躍天量的日期範圍

$start = new DateTime('2008-06-01'); 
$end = new DateTime('2016-12-31'); 
$diff = $start->diff($end); 

現在$diff->days3135 days,但包括2 飛躍天。 如何計算$start$end日期之間的2月29日的數量?

這是一個進銷存系統,其中閏日不應該算作(公司政策)

回答

2

您可以檢查它是否是閏年:

this other question而這其中的唯一區別在於哪裏他們使用$年你寫一個循環,其中$我開始在你想開始的一年,並在結束的一年結束(:

+0

當然,雖然我認爲效率很低,但你覺得效率很低。這個? – Sander 2015-03-03 15:36:24

+1

對不起,這是想到的唯一方法。順便說一下,如果你計劃使用閏年通常將它們存儲在一個數組中可能是一個好主意。 – Spyron10 2015-03-03 16:03:03