ID:               18670
 Updated by:       [EMAIL PROTECTED]
 Reported By:      nic at bbmcarlson dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         Date/time related
 Operating System: Linux
 PHP Version:      4.3.3RC5-dev
 New Comment:

well atleast on php 4.3.3 "2" and "next" seem to be working as expected
in returning the same results using the script provided by spud at
nothingness dot org.

the comment by mphillips at lufkin dot org is unrelated to the bug
report and is actually not a bug anyways since the format is not
supported (with '/' as separators it works as expected)

finally going by the manual this behaviour described by the bug report
may be inconvinient but not really counter the documentation: "The unit
of time displacement may be selected by the string `year' or `month'
for moving by whole years or months. These are fuzzy units, as years
and months are not all of equal duration. More precise units are
`fortnight' which is worth 14 days, `week' worth 7 days, `day' worth 24
hours, `hour' worth 60 minutes, `minute' or `min' worth 60 seconds, and
`second' or `sec' worth one second. An `s' suffix on these units is
accepted and ignored."

i lack the confidence to mark this report as bogus so i am just marking
it as feedback :-)


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

[2003-02-11 14:12:37] mphillips at lufkin dot org

I have noticed that when you do something like
$sdate = date9'Y-m-d', strtotime('02-09-2003'));

$sdate is getting '2008-02-24'.

Is this a common occurance

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

[2002-10-31 12:07:20] matt at codewalkers dot com

I also can confirm that strtotime acts funny when the same day does not
exist in the next month:

<?
$timestamp = strtotime("31 October 2002");

$next_month = strftime("%B" ,strtotime("+1 month", $timestamp));

echo $next_month;
?>

displays:

December

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

[2002-09-24 17:07:42] spud at nothingness dot org

In PHP 4.2.3, the difference between "2" and "next" are still screwy in
strtotime(). I'm trying to parse icalendar recurrence formats, so I
need to calculate things like the "second Monday" in a month. Sample
code below illustrates the difference between "2" and "next" (which
should be identical).

<?
$start = strtotime('September 1, 2002');
echo ('Start timestamp: '.$start.'<br>');
echo ('Start date: Sunday, Sep 1 2002<br>');
$first = strtotime('first Monday',$start);
echo ('"First" Monday: '.date('l, M d Y',$first).'<br>');
$oneth = strtotime('1 Monday',$start);
echo ('"1" Monday: '.date('l, M d Y',$oneth).'<br>');
$next = strtotime('next Monday',$start);
echo ('"Next" Monday: '.date('l, M d Y',$next).'<br>');
$twoth = strtotime('2 Monday',$start);
echo ('"2" Monday: '.date('l, M d Y',$twoth).'<br>');
$third = strtotime('third Monday',$start);
echo ('"Third" Monday: '.date('l, M d Y',$third).'<br>');
$threeth = strtotime('3 Monday',$start);
echo ('"3" Monday: '.date('l, M d Y',$threeth).'<br>');
?>

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

[2002-07-31 10:44:11] [EMAIL PROTECTED]

Sebastian, yes, that is because I changed how "next" works based on bug
report #18655

It works correctly for days now, but it does seem like month-handling
is messed up now.  

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

[2002-07-31 10:39:10] [EMAIL PROTECTED]

The problem is that it adds a full month to the current timestamp.  So
you end up getting the 31st of the next month and some months do not
have 31 days.  I'll need to do some reading to determine if strtotime()
is supposed to pick the beginning of the next month instead, or perhaps
the middle.

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/18670

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

Reply via email to