Bug #63863 [Com]: DateTime:setDate() date not used after modify("last day of...")

From: Date: Tue, 03 May 2016 16:21:48 +0000
Subject: Bug #63863 [Com]: DateTime:setDate() date not used after modify("last day of...")
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-200879@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=63863&edit=1 ID: 63863 Comment by: php-bugs at allenjb dot me dot uk Reported by: brian dot feaver at sellingsource dot com Summary: DateTime:setDate() date not used after modify("last day of...") Status: Open Type: Bug Package: Date/time related Operating System: Mac OS X PHP Version: 5.3.20 Block user comment: N Private report: N New Comment: This also happens after using a "descriptive string" in the constructor: $dtEnd = new \DateTime("last day of last month"); var_dump($dtEnd); $dtEnd = $dtEnd->setDate(2016, 04, 03); var_dump($dtEnd); 3v4l.org shows this bug appears to be in all versions of PHP 5 + 7 to date. Previous Comments: ------------------------------------------------------------------------ [2015-10-30 04:45:47] whitearchey at gmail dot com A simple workaround: $date->modify('+0 day'); ------------------------------------------------------------------------ [2014-06-25 11:01:34] gsdev at me dot com Hi, This is happening on Mac OS X 10.8.5 PHP 5.5.0 (cli) (built: Jun 21 2013 12:09:38) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0-dev, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.2, Copyright (c) 2002-2013, by Derick Rethans It looks to be working in PHP 5.2 but broke in PHP 5.3 onwards. http://3v4l.org/H3jZY <?php date_default_timezone_set('UTC'); $date = new DateTime(null, new DateTimeZone('UTC')); $date->setTime(0,0,0); $date->modify('next month'); $date->modify('last day of this month'); $date->setDate(2014, 1, 21); // This should be 21st Jan 2014 echo $date->format('Y-m-d'); ------------------------------------------------------------------------ [2014-01-14 09:45:12] ieskok at ramuno dot lt Confirmed in 5.5.7 & 5.5.8 on Ubuntu 12.04 x64 ------------------------------------------------------------------------ [2013-11-27 17:29:56] derick@php.net Not quite sure whether this patch is correct, but I'll check it out! ------------------------------------------------------------------------ [2013-09-20 01:13:21] php at seven dot net dot nz Confirmed still a bug in 5.5.4 on Mac OS X. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=63863 -- Edit this bug report at https://bugs.php.net/bug.php?id=63863&edit=1

« previous php.bugs (#200879) next »