Re: Adding weekdays to DateTime resets the time

From: Date: Mon, 04 May 2015 17:49:00 +0000
Subject: Re: Adding weekdays to DateTime resets the time
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-86109@lists.php.net to get a copy of this message
I think the best approach would be to open a bug under https://bugs.php.net/ since this does not look like intended behavior. Regards, Stelian On Mon, May 4, 2015 at 5:33 PM, Markus Fasselt <markus.fasselt@gmail.com> wrote: > Hi, > > when I modify a DateTime object and add or subtract weekdays, it happens > that the current time is reset to 00:00:00. > > This effect does not occur when I add days. I also experienced the same > behavior with strototime. > > > <?php > > > > $a = new DateTime(strtotime('2015-05-04 17:22')); > > var_dump((string) $a->format('Y-m-d H:i:s')); // 2015-05-04 17:22:00 > > $a->modify('+1 day'); > > var_dump((string) $a->format('Y-m-d H:i:s')); // 2015-05-05 17:22:00 > > $a->modify('+1 weekday'); > > var_dump((string) $a->format('Y-m-d H:i:s')); 2015-05-06 00:00:00 > > > > var_dump(date('Y-m-d H:i:s', strtotime('+1 weekday'))); // 2015-05-05 > 00:00:00 > > http://3v4l.org/554H4 > > There seems to be slighly different behavior between the different PHP > versions. strotime always had this behavior. DateTime::modify() worked > correct until PHP 5.3.5. > > I don't know if this behavior was changed on purpose (I didn't find > something on it). If so, why? Otherwise I would suggest to fix this, as > it is really confusing. > > Regards, > Markus > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >

« previous php.internals (#86109) next »