derick Wed Aug 31 10:31:46 2005 EDT
Modified files:
/php-src NEWS
/php-src/ext/date/lib dow.c
/php-src/ext/date/tests bug33957.phpt
Log:
- Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week
number).
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.2050&r2=1.2051&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2050 php-src/NEWS:1.2051
--- php-src/NEWS:1.2050 Tue Aug 30 21:19:40 2005
+++ php-src/NEWS Wed Aug 31 10:31:44 2005
@@ -19,3 +19,5 @@
files opened with tmpname(). (Derick)
- Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9).
(Derick)
+- Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number).
+ (Derick)
http://cvs.php.net/diff.php/php-src/ext/date/lib/dow.c?r1=1.8&r2=1.9&ty=u
Index: php-src/ext/date/lib/dow.c
diff -u php-src/ext/date/lib/dow.c:1.8 php-src/ext/date/lib/dow.c:1.9
--- php-src/ext/date/lib/dow.c:1.8 Wed Aug 3 10:06:46 2005
+++ php-src/ext/date/lib/dow.c Wed Aug 31 10:31:45 2005
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dow.c,v 1.8 2005/08/03 14:06:46 sniper Exp $ */
+/* $Id: dow.c,v 1.9 2005/08/31 14:31:45 derick Exp $ */
#include "timelib.h"
@@ -91,7 +91,7 @@
int i;
i = y_leap ? 366 : 365;
- if ((i - doy) < (4 - weekday)) {
+ if ((i - (doy - y_leap)) < (4 - weekday)) {
*iy = y + 1;
*iw = 1;
return;
http://cvs.php.net/diff.php/php-src/ext/date/tests/bug33957.phpt?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/date/tests/bug33957.phpt
diff -u /dev/null php-src/ext/date/tests/bug33957.phpt:1.2
--- /dev/null Wed Aug 31 10:31:46 2005
+++ php-src/ext/date/tests/bug33957.phpt Wed Aug 31 10:31:45 2005
@@ -0,0 +1,103 @@
+--TEST--
+Bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number)
+--FILE--
+<?php
+date_default_timezone_set("UTC");
+
+for ($i = 14; $i <= 31; $i++) {
+ echo "1992-12-$i ", date("W", strtotime("1992-12-$i")), "\n";
+}
+for ($i = 1; $i <= 8; $i++) {
+ echo "1993-01-$i ", date("W", strtotime("1993-01-$i")), "\n";
+}
+echo "----\n";
+echo " ";
+foreach (range(1992, 2019) as $year) {
+ echo "$year ";
+}
+echo "\n";
+
+for ($i = 14; $i <= 31; $i++) {
+ echo " (12-$i) ";
+ foreach (range(1992, 2019) as $year) {
+ echo sprintf(" %02d-", date("W", strtotime("$year-12-$i")));
+ echo sprintf("%04d ", date("o", strtotime("$year-12-$i")));
+ }
+ echo "\n";
+}
+for ($i = 1; $i <= 18; $i++) {
+ printf("+1 (01-%02d) ", $i);
+ foreach (range(1993, 2020) as $year) {
+ echo sprintf(" %02d-", date("W", strtotime("$year-1-$i")));
+ echo sprintf("%04d ", date("o", strtotime("$year-1-$i")));
+ }
+ echo "\n";
+}
+echo "----\n";
+?>
+--EXPECT--
+1992-12-14 51
+1992-12-15 51
+1992-12-16 51
+1992-12-17 51
+1992-12-18 51
+1992-12-19 51
+1992-12-20 51
+1992-12-21 52
+1992-12-22 52
+1992-12-23 52
+1992-12-24 52
+1992-12-25 52
+1992-12-26 52
+1992-12-27 52
+1992-12-28 53
+1992-12-29 53
+1992-12-30 53
+1992-12-31 53
+1993-01-1 53
+1993-01-2 53
+1993-01-3 53
+1993-01-4 1
+1993-01-5 1
+1993-01-6 1
+1993-01-7 1
+1993-01-8 1
+----
+ 1992 1993 1994 1995 1996 1997 1998
1999 2000 2001 2002 2003 2004 2005 2006 2007
2008 2009 2010 2011 2012 2013 2014 2015 2016
2017 2018 2019
+ (12-14) 51-1992 50-1993 50-1994 50-1995 50-1996 50-1997 51-1998
50-1999 50-2000 50-2001 50-2002 50-2003 51-2004 50-2005 50-2006 50-2007
50-2008 51-2009 50-2010 50-2011 50-2012 50-2013 50-2014 51-2015
50-2016 50-2017 50-2018 50-2019
+ (12-15) 51-1992 50-1993 50-1994 50-1995 50-1996 51-1997 51-1998
50-1999 50-2000 50-2001 50-2002 51-2003 51-2004 50-2005 50-2006 50-2007
51-2008 51-2009 50-2010 50-2011 50-2012 50-2013 51-2014 51-2015
50-2016 50-2017 50-2018 50-2019
+ (12-16) 51-1992 50-1993 50-1994 50-1995 51-1996 51-1997 51-1998
50-1999 50-2000 50-2001 51-2002 51-2003 51-2004 50-2005 50-2006 50-2007
51-2008 51-2009 50-2010 50-2011 50-2012 51-2013 51-2014 51-2015
50-2016 50-2017 50-2018 51-2019
+ (12-17) 51-1992 50-1993 50-1994 50-1995 51-1996 51-1997 51-1998
50-1999 50-2000 51-2001 51-2002 51-2003 51-2004 50-2005 50-2006 51-2007
51-2008 51-2009 50-2010 50-2011 51-2012 51-2013 51-2014 51-2015
50-2016 50-2017 51-2018 51-2019
+ (12-18) 51-1992 50-1993 50-1994 51-1995 51-1996 51-1997 51-1998
50-1999 51-2000 51-2001 51-2002 51-2003 51-2004 50-2005 51-2006 51-2007
51-2008 51-2009 50-2010 50-2011 51-2012 51-2013 51-2014 51-2015
50-2016 51-2017 51-2018 51-2019
+ (12-19) 51-1992 50-1993 51-1994 51-1995 51-1996 51-1997 51-1998
50-1999 51-2000 51-2001 51-2002 51-2003 51-2004 51-2005 51-2006 51-2007
51-2008 51-2009 50-2010 51-2011 51-2012 51-2013 51-2014 51-2015
51-2016 51-2017 51-2018 51-2019
+ (12-20) 51-1992 51-1993 51-1994 51-1995 51-1996 51-1997 51-1998
51-1999 51-2000 51-2001 51-2002 51-2003 52-2004 51-2005 51-2006 51-2007
51-2008 51-2009 51-2010 51-2011 51-2012 51-2013 51-2014 51-2015
51-2016 51-2017 51-2018 51-2019
+ (12-21) 52-1992 51-1993 51-1994 51-1995 51-1996 51-1997 52-1998
51-1999 51-2000 51-2001 51-2002 51-2003 52-2004 51-2005 51-2006 51-2007
51-2008 52-2009 51-2010 51-2011 51-2012 51-2013 51-2014 52-2015
51-2016 51-2017 51-2018 51-2019
+ (12-22) 52-1992 51-1993 51-1994 51-1995 51-1996 52-1997 52-1998
51-1999 51-2000 51-2001 51-2002 52-2003 52-2004 51-2005 51-2006 51-2007
52-2008 52-2009 51-2010 51-2011 51-2012 51-2013 52-2014 52-2015
51-2016 51-2017 51-2018 51-2019
+ (12-23) 52-1992 51-1993 51-1994 51-1995 52-1996 52-1997 52-1998
51-1999 51-2000 51-2001 52-2002 52-2003 52-2004 51-2005 51-2006 51-2007
52-2008 52-2009 51-2010 51-2011 51-2012 52-2013 52-2014 52-2015
51-2016 51-2017 51-2018 52-2019
+ (12-24) 52-1992 51-1993 51-1994 51-1995 52-1996 52-1997 52-1998
51-1999 51-2000 52-2001 52-2002 52-2003 52-2004 51-2005 51-2006 52-2007
52-2008 52-2009 51-2010 51-2011 52-2012 52-2013 52-2014 52-2015
51-2016 51-2017 52-2018 52-2019
+ (12-25) 52-1992 51-1993 51-1994 52-1995 52-1996 52-1997 52-1998
51-1999 52-2000 52-2001 52-2002 52-2003 52-2004 51-2005 52-2006 52-2007
52-2008 52-2009 51-2010 51-2011 52-2012 52-2013 52-2014 52-2015
51-2016 52-2017 52-2018 52-2019
+ (12-26) 52-1992 51-1993 52-1994 52-1995 52-1996 52-1997 52-1998
51-1999 52-2000 52-2001 52-2002 52-2003 52-2004 52-2005 52-2006 52-2007
52-2008 52-2009 51-2010 52-2011 52-2012 52-2013 52-2014 52-2015
52-2016 52-2017 52-2018 52-2019
+ (12-27) 52-1992 52-1993 52-1994 52-1995 52-1996 52-1997 52-1998
52-1999 52-2000 52-2001 52-2002 52-2003 53-2004 52-2005 52-2006 52-2007
52-2008 52-2009 52-2010 52-2011 52-2012 52-2013 52-2014 52-2015
52-2016 52-2017 52-2018 52-2019
+ (12-28) 53-1992 52-1993 52-1994 52-1995 52-1996 52-1997 53-1998
52-1999 52-2000 52-2001 52-2002 52-2003 53-2004 52-2005 52-2006 52-2007
52-2008 53-2009 52-2010 52-2011 52-2012 52-2013 52-2014 53-2015
52-2016 52-2017 52-2018 52-2019
+ (12-29) 53-1992 52-1993 52-1994 52-1995 52-1996 01-1998 53-1998
52-1999 52-2000 52-2001 52-2002 01-2004 53-2004 52-2005 52-2006 52-2007
01-2009 53-2009 52-2010 52-2011 52-2012 52-2013 01-2015 53-2015
52-2016 52-2017 52-2018 52-2019
+ (12-30) 53-1992 52-1993 52-1994 52-1995 01-1997 01-1998 53-1998
52-1999 52-2000 52-2001 01-2003 01-2004 53-2004 52-2005 52-2006 52-2007
01-2009 53-2009 52-2010 52-2011 52-2012 01-2014 01-2015 53-2015
52-2016 52-2017 52-2018 01-2020
+ (12-31) 53-1992 52-1993 52-1994 52-1995 01-1997 01-1998 53-1998
52-1999 52-2000 01-2002 01-2003 01-2004 53-2004 52-2005 52-2006 01-2008
01-2009 53-2009 52-2010 52-2011 01-2013 01-2014 01-2015 53-2015
52-2016 52-2017 01-2019 01-2020
++1 (01-01) 53-1992 52-1993 52-1994 01-1996 01-1997 01-1998 53-1998
52-1999 01-2001 01-2002 01-2003 01-2004 53-2004 52-2005 01-2007 01-2008
01-2009 53-2009 52-2010 52-2011 01-2013 01-2014 01-2015 53-2015
52-2016 01-2018 01-2019 01-2020
++1 (01-02) 53-1992 52-1993 01-1995 01-1996 01-1997 01-1998 53-1998
52-1999 01-2001 01-2002 01-2003 01-2004 53-2004 01-2006 01-2007 01-2008
01-2009 53-2009 52-2010 01-2012 01-2013 01-2014 01-2015 53-2015
01-2017 01-2018 01-2019 01-2020
++1 (01-03) 53-1992 01-1994 01-1995 01-1996 01-1997 01-1998 53-1998
01-2000 01-2001 01-2002 01-2003 01-2004 01-2005 01-2006 01-2007 01-2008
01-2009 53-2009 01-2011 01-2012 01-2013 01-2014 01-2015 53-2015
01-2017 01-2018 01-2019 01-2020
++1 (01-04) 01-1993 01-1994 01-1995 01-1996 01-1997 01-1998 01-1999
01-2000 01-2001 01-2002 01-2003 01-2004 01-2005 01-2006 01-2007 01-2008
01-2009 01-2010 01-2011 01-2012 01-2013 01-2014 01-2015 01-2016
01-2017 01-2018 01-2019 01-2020
++1 (01-05) 01-1993 01-1994 01-1995 01-1996 01-1997 02-1998 01-1999
01-2000 01-2001 01-2002 01-2003 02-2004 01-2005 01-2006 01-2007 01-2008
02-2009 01-2010 01-2011 01-2012 01-2013 01-2014 02-2015 01-2016
01-2017 01-2018 01-2019 01-2020
++1 (01-06) 01-1993 01-1994 01-1995 01-1996 02-1997 02-1998 01-1999
01-2000 01-2001 01-2002 02-2003 02-2004 01-2005 01-2006 01-2007 01-2008
02-2009 01-2010 01-2011 01-2012 01-2013 02-2014 02-2015 01-2016
01-2017 01-2018 01-2019 02-2020
++1 (01-07) 01-1993 01-1994 01-1995 01-1996 02-1997 02-1998 01-1999
01-2000 01-2001 02-2002 02-2003 02-2004 01-2005 01-2006 01-2007 02-2008
02-2009 01-2010 01-2011 01-2012 02-2013 02-2014 02-2015 01-2016
01-2017 01-2018 02-2019 02-2020
++1 (01-08) 01-1993 01-1994 01-1995 02-1996 02-1997 02-1998 01-1999
01-2000 02-2001 02-2002 02-2003 02-2004 01-2005 01-2006 02-2007 02-2008
02-2009 01-2010 01-2011 01-2012 02-2013 02-2014 02-2015 01-2016
01-2017 02-2018 02-2019 02-2020
++1 (01-09) 01-1993 01-1994 02-1995 02-1996 02-1997 02-1998 01-1999
01-2000 02-2001 02-2002 02-2003 02-2004 01-2005 02-2006 02-2007 02-2008
02-2009 01-2010 01-2011 02-2012 02-2013 02-2014 02-2015 01-2016
02-2017 02-2018 02-2019 02-2020
++1 (01-10) 01-1993 02-1994 02-1995 02-1996 02-1997 02-1998 01-1999
02-2000 02-2001 02-2002 02-2003 02-2004 02-2005 02-2006 02-2007 02-2008
02-2009 01-2010 02-2011 02-2012 02-2013 02-2014 02-2015 01-2016
02-2017 02-2018 02-2019 02-2020
++1 (01-11) 02-1993 02-1994 02-1995 02-1996 02-1997 02-1998 02-1999
02-2000 02-2001 02-2002 02-2003 02-2004 02-2005 02-2006 02-2007 02-2008
02-2009 02-2010 02-2011 02-2012 02-2013 02-2014 02-2015 02-2016
02-2017 02-2018 02-2019 02-2020
++1 (01-12) 02-1993 02-1994 02-1995 02-1996 02-1997 03-1998 02-1999
02-2000 02-2001 02-2002 02-2003 03-2004 02-2005 02-2006 02-2007 02-2008
03-2009 02-2010 02-2011 02-2012 02-2013 02-2014 03-2015 02-2016
02-2017 02-2018 02-2019 02-2020
++1 (01-13) 02-1993 02-1994 02-1995 02-1996 03-1997 03-1998 02-1999
02-2000 02-2001 02-2002 03-2003 03-2004 02-2005 02-2006 02-2007 02-2008
03-2009 02-2010 02-2011 02-2012 02-2013 03-2014 03-2015 02-2016
02-2017 02-2018 02-2019 03-2020
++1 (01-14) 02-1993 02-1994 02-1995 02-1996 03-1997 03-1998 02-1999
02-2000 02-2001 03-2002 03-2003 03-2004 02-2005 02-2006 02-2007 03-2008
03-2009 02-2010 02-2011 02-2012 03-2013 03-2014 03-2015 02-2016
02-2017 02-2018 03-2019 03-2020
++1 (01-15) 02-1993 02-1994 02-1995 03-1996 03-1997 03-1998 02-1999
02-2000 03-2001 03-2002 03-2003 03-2004 02-2005 02-2006 03-2007 03-2008
03-2009 02-2010 02-2011 02-2012 03-2013 03-2014 03-2015 02-2016
02-2017 03-2018 03-2019 03-2020
++1 (01-16) 02-1993 02-1994 03-1995 03-1996 03-1997 03-1998 02-1999
02-2000 03-2001 03-2002 03-2003 03-2004 02-2005 03-2006 03-2007 03-2008
03-2009 02-2010 02-2011 03-2012 03-2013 03-2014 03-2015 02-2016
03-2017 03-2018 03-2019 03-2020
++1 (01-17) 02-1993 03-1994 03-1995 03-1996 03-1997 03-1998 02-1999
03-2000 03-2001 03-2002 03-2003 03-2004 03-2005 03-2006 03-2007 03-2008
03-2009 02-2010 03-2011 03-2012 03-2013 03-2014 03-2015 02-2016
03-2017 03-2018 03-2019 03-2020
++1 (01-18) 03-1993 03-1994 03-1995 03-1996 03-1997 03-1998 03-1999
03-2000 03-2001 03-2002 03-2003 03-2004 03-2005 03-2006 03-2007 03-2008
03-2009 03-2010 03-2011 03-2012 03-2013 03-2014 03-2015 03-2016
03-2017 03-2018 03-2019 03-2020
+----
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php