|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-02-29 03:43 UTC] derick@php.net
[2004-02-29 12:00 UTC] pettyr at hotmail dot com
[2004-02-29 13:24 UTC] derick@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Dec 04 18:00:01 2025 UTC |
Description: ------------ The clients server is hosted by a third party running debian SMP Apache and PHP 4.3.4. The use of strtotime("next monday") skips monday the 1st and returns monday the 8th when run on Feb. 28th (tomorrow is a leap day.) The servers particulars: [dali]$ uname -a Linux dali 2.4.24-grsec+w+fhs5+gr1913+nfs+++p3+c3+bu+gr0b-v6.182 #1 SMP Mon Jan 5 12:43:44 PST 2004 i686 unknown [dali]$ date Sat Feb 28 14:33:39 PST 2004 Reproduce code: --------------- [dali]$ cat t1.php <? $start = strtotime('next monday'); echo ('Start timestamp: '.$start.'<br>'."\n"); $first = strtotime('first Monday',$start); echo ('"First" Monday: '.date('l, M d Y',$first).'<br>'."\n"); $oneth = strtotime('1 Monday',$start); echo ('"1" Monday: '.date('l, M d Y',$oneth).'<br>'."\n"); $next = strtotime('next Monday',$start); echo ('"Next" Monday: '.date('l, M d Y',$next).'<br>'."\n"); $twoth = strtotime('2 Monday',$start); echo ('"2" Monday: '.date('l, M d Y',$twoth).'<br>'."\n"); $third = strtotime('third Monday',$start); echo ('"Third" Monday: '.date('l, M d Y',$third).'<br>'."\n"); $threeth = strtotime('3 Monday',$start); echo ('"3" Monday: '.date('l, M d Y',$threeth).'<br>'."\n"); ?> Expected result: ---------------- [dali]$ php t1.php Content-type: text/html X-Powered-By: PHP/4.3.4 Start timestamp: 1078732800<br> "Next" Monday: Monday, Mar 01 2004<br> "First" Monday: Monday, Mar 01 2004<br> "1" Monday: Monday, Mar 01 2004<br> "Next" Monday: Monday, Mar 08 2004<br> "2" Monday: Monday, Mar 08 2004<br> "Third" Monday: Monday, Mar 15 2004<br> "3" Monday: Monday, Mar 15 2004<br> [dali]$ Actual result: -------------- [dali]$ php t1.php Content-type: text/html X-Powered-By: PHP/4.3.4 Start timestamp: 1078732800<br> "Next" Monday: Monday, Mar 08 2004<br> "First" Monday: Monday, Mar 08 2004<br> "1" Monday: Monday, Mar 08 2004<br> "Next" Monday: Monday, Mar 15 2004<br> "2" Monday: Monday, Mar 15 2004<br> "Third" Monday: Monday, Mar 22 2004<br> "3" Monday: Monday, Mar 22 2004<br> [dali]$ But, the exact same code run from my system: [root@helios tmp]# uname -a Linux helios 2.4.20-28.7smp #1 SMP Thu Dec 18 11:18:31 EST 2003 i686 unknown [root@helios tmp]# date Sat Feb 28 13:34:08 MST 2004 [root@helios tmp]# php /tmp/t1.php X-Powered-By: PHP/4.1.2 Content-type: text/html Start timestamp: 1078124400<br> "Next" Monday: Monday, Mar 01 2004<br> "First" Monday: Monday, Mar 01 2004<br> "1" Monday: Monday, Mar 01 2004<br> "Next" Monday: Monday, Mar 01 2004<br> "2" Monday: Monday, Mar 08 2004<br> "Third" Monday: Monday, Mar 15 2004<br> "3" Monday: Monday, Mar 15 2004<br> May be related to: Bug #18670 strtotime() bug Submitted: 31 Jul 2002 10:26am EDT Modified: 18 Oct 2003 10:57pm EDT