Bug #69786 [Asn]: strtotime troubles when subtracting days

From: Date: Thu, 28 Oct 2021 15:29:13 +0000
Subject: Bug #69786 [Asn]: strtotime troubles when subtracting days
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-237418@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=69786&edit=1

 ID:                 69786
 Updated by:         cmb@php.net
 Reported by:        s dot rotondo90 at gmail dot com
 Summary:            strtotime troubles when subtracting days
 Status:             Assigned
 Type:               Bug
 Package:            Date/time related
 Operating System:   Windows Server 2012 R2 Standard
 PHP Version:        5.5.25
 Assigned To:        derick
 Block user comment: N
 Private report:     N

 New Comment:

Still behaves this way: <https://3v4l.org/9cApu>.


Previous Comments:
------------------------------------------------------------------------
[2015-06-10 13:10:26] s dot rotondo90 at gmail dot com

I used Tuesday because i saw that this happen when using the same day for the next week.

For example today is Wednesday and if i try this:
echo date('d/m/Y', strtotime('next wed -1 day'));

the output will be: 09/06/2015
The "next wed" seems to be ignored as you said.

But, if i try to do the opposite operation:
echo date('d/m/Y', strtotime('next wed +1 day'));

the output will be: 18/06/2015
This time "next wed" worked well.

------------------------------------------------------------------------
[2015-06-10 12:04:09] cmb@php.net

Hm, I'm not sure if that is supposed to work. Apparently 'next tue'
is simply ignored and only '-1 day' is calculated.

Anyhow, do you really mean 'next tue -1 day' instead of 'next
mon'? Both have, of course, different results on Mondays.

------------------------------------------------------------------------
[2015-06-09 13:57:32] s dot rotondo90 at gmail dot com

Description:
------------
When subtracting days from the next day of the week and today is the same day of the week, strtotime
use the current date instead.  

Test script:
---------------
// Today is 09/06/2015

echo date('d/m/Y', strtotime('next tue'));
echo date('d/m/Y', strtotime('next tue -1 day'));


Expected result:
----------------
16/06/2015
15/06/2015

Actual result:
--------------
16/06/2015
08/06/2015


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=69786&edit=1


Thread (6 messages)

« previous php.bugs (#237418) next »