RE: [PEAR-DEV] fix fo Bug #19788 (Date_Calc::weekOfYear() function problem)

From: Date: Wed, 27 Nov 2002 08:48:22 +0000
Subject: RE: [PEAR-DEV] fix fo Bug #19788 (Date_Calc::weekOfYear() function problem)
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-11154@lists.php.net to get a copy of this message
> Could you post a unified (diff -u), please, it is more readable. > Arnaud. I hope that's the requested (WinCVS doesn't know diff -u): Index: Calc.php =================================================================== RCS file: /repository/pear/Date/Date/Calc.php,v retrieving revision 1.4 diff -u -r1.4 Calc.php --- Calc.php 20 Nov 2002 16:43:12 -0000 1.4 +++ Calc.php 27 Nov 2002 08:45:24 -0000 @@ -233,13 +233,17 @@ $day = Date_Calc::dateNow("%d"); } - $week_year = $year - 1501; - $week_day = $week_year * 365 + floor($week_year / 4) - 29872 + 1 - - floor($week_year / 100) + floor(($week_year - 300) / 400); - - $week_number = ceil((Date_Calc::julianDate($day,$month,$year) - + floor(($week_day + 4) % 7)) / 7); - + $days = 0; + for($this_year = 1501; $this_year < $year; $this_year++) { + $leap_year = false; + if ($this_year % 4 == 0) $leap_year = true; + if ($this_year % 100 == 0) $leap_year = false; + if ($this_year % 400 == 0) $leap_year = true; + $days += ($leap_year) ? 366 : 365; + } + + $week_number = ceil((Date_Calc::julianDate($day, $month, $year) - (($days + 2) % 7))/7) + 1; + return $week_number; } // end func weekOfYear

« previous php.pear.dev (#11154) next »