cvs: php-src /ext/date php_date.c /ext/date/tests mktime-3.phpt

From: Date: Thu, 21 Jul 2005 10:09:41 +0000
Subject: cvs: php-src /ext/date php_date.c /ext/date/tests mktime-3.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-33021@lists.php.net to get a copy of this message
derick Thu Jul 21 06:09:41 2005 EDT Added files: /php-src/ext/date/tests mktime-3.phpt Modified files: /php-src/ext/date php_date.c Log: - Changed the year parameter so that 0..69 maps to 2000..2069 and 70..100 maps to 1970..2000, which was in the original code, but not in the documentation. http://cvs.php.net/diff.php/php-src/ext/date/php_date.c?r1=1.40&r2=1.41&ty=u Index: php-src/ext/date/php_date.c diff -u php-src/ext/date/php_date.c:1.40 php-src/ext/date/php_date.c:1.41 --- php-src/ext/date/php_date.c:1.40 Wed Jul 20 04:31:00 2005 +++ php-src/ext/date/php_date.c Thu Jul 21 06:09:40 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c,v 1.40 2005/07/20 08:31:00 derick Exp $ */ +/* $Id: php_date.c,v 1.41 2005/07/21 10:09:40 derick Exp $ */ #include "php.h" #include "php_streams.h" @@ -623,6 +623,11 @@ case 7: /* break intentionally missing */ case 6: + if (yea >= 0 && yea < 70) { + yea += 2000; + } else if (yea >= 70 && yea <= 100) { + yea += 1900; + } now->y = yea; /* break intentionally missing again */ case 5: http://cvs.php.net/co.php/php-src/ext/date/tests/mktime-3.phpt?r=1.1&p=1 Index: php-src/ext/date/tests/mktime-3.phpt +++ php-src/ext/date/tests/mktime-3.phpt --TEST-- mktime() [3] --INI-- error_reporting=2047 --FILE-- <?php $tzs = array("America/Toronto", "Europe/Oslo"); $years = array(0, 69, 70, 71, 99, 100, 1900, 1901, 1902, 1999, 2000, 2001); foreach ($tzs as $tz) { echo $tz, "\n"; date_default_timezone_set($tz); foreach ($years as $year) { printf("Y: %4d - ", $year); $ret = mktime(1, 1, 1, 1, 1, $year); if ($ret == FALSE) { echo "out of range\n"; } else { echo date("F ".DATE_ISO8601, $ret), "\n"; } } echo "\n"; } ?> --EXPECT-- America/Toronto Y: 0 - January 2000-01-01T01:01:01-0500 Y: 69 - out of range Y: 70 - January 1970-01-01T01:01:01-0500 Y: 71 - January 1971-01-01T01:01:01-0500 Y: 99 - January 1999-01-01T01:01:01-0500 Y: 100 - January 2000-01-01T01:01:01-0500 Y: 1900 - out of range Y: 1901 - out of range Y: 1902 - January 1902-01-01T01:01:01-0500 Y: 1999 - January 1999-01-01T01:01:01-0500 Y: 2000 - January 2000-01-01T01:01:01-0500 Y: 2001 - January 2001-01-01T01:01:01-0500 Europe/Oslo Y: 0 - January 2000-01-01T01:01:01+0100 Y: 69 - out of range Y: 70 - January 1970-01-01T01:01:01+0100 Y: 71 - January 1971-01-01T01:01:01+0100 Y: 99 - January 1999-01-01T01:01:01+0100 Y: 100 - January 2000-01-01T01:01:01+0100 Y: 1900 - out of range Y: 1901 - out of range Y: 1902 - January 1902-01-01T01:01:01+0100 Y: 1999 - January 1999-01-01T01:01:01+0100 Y: 2000 - January 2000-01-01T01:01:01+0100 Y: 2001 - January 2001-01-01T01:01:01+0100

« previous php.cvs (#33021) next »