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.fass...@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 >