// Calculate the number of days from January 1, January 1, a.m., $ mm, and $ dd. <br/> function datelocal ($ yyyy, $ mm, $ dd) {<br/> $ monthdays = array (, 28, 31 ); // The number of days of a month in a non-leap year <br/> // determines whether the value is a leapyear. The leapyear value is 1, otherwise $ leapyear = 0 <br/> if ($ YY % 4 = 0 & $ yyyy % 100! = 0 | $ yyyy % 400 = 0) <br/> $ leapyear = 1; <br/> else <br/> $ leapyear = 0; <br/> // calculate the number of days from January 1, a.m.: days per year + days per month + days per day <br/> $ days = ($ yyyy-1) * 365 + floor ($ yyyy-1)/4)-floor ($ yyyy-1)/100) + floor ($ yyyy-1)/400 ); <br/> for ($ I = 1; $ I <= $ mm; $ I ++) {<br/> $ days + = $ monthdays [$ I-2]; <br/> if ($ leapyear = 1 & $ I = 3) // the year in which the month belongs is a leap year, and the month exceeds February: 28 days + 1 day <br/> $ days + = 1; <br/>}< br/> $ days + = $ DD-1; <br/> return $ days; <br/>}< br/> // calculate $ yyyy2-$ mm2-$ dd2, $ yyyy1-$ MM1-$ DD1 difference days <br/> function datediff ($ yyyy2, $ mm2, $ dd2, $ yyyy1, $ MM1, $ DD1) {<br/> $ daysdiff = ABS (datelocal ($ yyyy2, $ mm2, $ dd2)-datelocal ($ yyyy1, $ MM1, $ DD1 )); <br/> return $ daysdiff; <br/>}< br/> echo datediff );
From: http://www.drulanz.com/website-build/lamp/phpdaysdiff/