ID: 41547 User updated by: noisex at apollo dot lv -Summary: strtotiem bug Reported By: noisex at apollo dot lv Status: Open Bug Type: Date/time related Operating System: FreeBSD 6.2 PHP Version: 5.2.2 New Comment:
The result must be (sorry): 2007-Apr 2007-Mar 2007-Feb 2007-Jan 2006-Dec 2006-Nov 2006-Oct 2006-Sep 2006-Aug 2006-Jul 2006-Jun 2006-May Previous Comments: ------------------------------------------------------------------------ [2007-05-31 09:21:33] noisex at apollo dot lv Description: ------------ On months with 31th day the strtotime function with +/-$foo month calculates wrong. it calculates -30 days not 31 days. Reproduce code: --------------- Simple example (running today 31 May): <?php for($i=1; $i<=12; $i++) { echo date("Y-M",strtotime("-$i months"))."<br>"; } ?> Expected result: ---------------- 2007-Mar 2007-Feb 2007-Jan 2006-Dec 2006-Nov 2006-Oct 2006-Sep 2006-Aug 2006-Jul 2006-Jun 2006-May 2006-Apr Actual result: -------------- 2007-May 2007-Mar 2007-Mar 2007-Jan 2006-Dec 2006-Dec 2006-Oct 2006-Oct 2006-Aug 2006-Jul 2006-Jul 2006-May ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41547&edit=1