ID:               43472
 Updated by:       [EMAIL PROTECTED]
 Reported By:      phil at goli dot at
-Status:           Open
+Status:           Wont fix
 Bug Type:         Date/time related
 Operating System: FreeBSD 6.2-RELEASE-p1
 PHP Version:      4.4.7
 New Comment:

We are sorry, but we can not support PHP 4 related problems anymore.
Momentum is gathering for PHP 6, and we think supporting PHP 4 will
lead to a waste of resources which we want to put into getting PHP 6
ready.




Previous Comments:
------------------------------------------------------------------------

[2008-06-23 14:31:08] danmagicman7 at gmail dot com

For clarification, strtotime will not advance to "Next Sunday" if it is
given a date that lands on a Sunday.

Here is a workaround if you are writing something that needs to advance
to the next Sunday, but you may not be giving it a date that starts with
a sunday every time (in my case something that splits up weeks of a
month):

$i was a result of a for loop, in my case.

if(date('D',$your_date) == 'Sun'){
    $sunday_offset = 1;
} else {
     $sunday_offset = 0;
}

$next_sunday = strtotime("next Sunday +" . ($i+$sunday_offset) .
"week", $your_date);

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

[2008-06-23 14:25:44] danmagicman7 at gmail dot com

The problem is with "next Sunday".  It will not advance to the next
Sunday. I ran into this problem as well.

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

[2007-12-01 17:07:25] phil at goli dot at

Description:
------------
the problem described occurs only in the version 4.4.7

the script below produces the following output when run as a
web-script:

$myFirstAdvent: 12-02 
$mySecondAdvent: 12-09 
$myThirdAdvent: 12-16 
$myFourthAdvent: 12-23

the script below produces the following output when run via command
line:

$myFirstAdvent: 12-02
$mySecondAdvent: 12-02
$myThirdAdvent: 12-02
$myFourthAdvent: 12-02



Reproduce code:
---------------
<?php
  $myTmp = strtotime("first Sunday", mktime(0, 0, 0, 11, 27, 2007) );
// date("Y", myDST())
  $myFirstAdvent = date("m-d", $myTmp);
  $myTmp = strtotime("next Sunday", $myTmp);
  $mySecondAdvent = date("m-d", $myTmp);
  $myTmp = strtotime("next Sunday", $myTmp);
  $myThirdAdvent = date("m-d", $myTmp);
  $myTmp = strtotime("next Sunday", $myTmp);
  $myFourthAdvent = date("m-d", $myTmp);
  echo '$myFirstAdvent: ' . $myFirstAdvent . "\n";
  echo '$mySecondAdvent: ' . $mySecondAdvent . "\n";
  echo '$myThirdAdvent: ' . $myThirdAdvent . "\n";
  echo '$myFourthAdvent: ' . $myFourthAdvent . "\n";
?>

Expected result:
----------------
if run in the command line it should also the correct dates:

$myFirstAdvent: 12-02 
$mySecondAdvent: 12-09 
$myThirdAdvent: 12-16 
$myFourthAdvent: 12-23


Actual result:
--------------
if run in the command line it displays these dates:

$myFirstAdvent: 12-02
$mySecondAdvent: 12-02
$myThirdAdvent: 12-02
$myFourthAdvent: 12-02


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


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

Reply via email to