ID:               17123
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Won't fix
 Bug Type:         Date/time related
 Operating System: WinNT5.0
 PHP Version:      4.2.0
 New Comment:

The problem still occurs with 4.2.3: mktime(0,0,0,09,23,1967) returns
-1 instead of a valid timestamp.


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

[2002-08-04 04:47:40] [EMAIL PROTECTED]

Since the time stamp is started from 1970, I don't think it supposed to
work in anyways.

Or is there anything wrong is returned when too small/large date is
supplied? It should fail, but it should not crash PHP for example.
Please reopen if PHP behaves badly.

BTW, there should be feature requests for more generic date functions
so no need for feature request also.



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

[2002-08-01 10:56:29] [EMAIL PROTECTED]

I have 4.0.6 on several machines (3 I think), and I have the same
problem on all of them (I have Windows 2000 on all of them).  As much
as I want to convert my server to a linux box, it still leaves me two
computers with Windows 2000 and this bug.  I had one idea, but since I
don't have 4.2.0 I can't work on it yet.  With the new W32 API
capabilities of 4.2.0, would it not be possible to use some Windows API
functions to parse date/time information rather than the included PHP
functions?  Obviously, Windows can handle the dates.  I use JavaScript
a lot and it has a range of approximately 275,000 years before and
after 1970.  I tested my valid range yesterday using the PHP functions,
I could go from 1970 to about 2037.  Wow.  What about all the people
that were born before 1970?  Older than 32 years...

Anyway, when I get home I will download 4.2.0 and then start hacking
away at using the PROPER Windows API functions for date/time since PHP
seems to be wanting to use the ones that don't work.

Hope something gets figured out, even if I have to program my own DLL
to make it work... :)

-Percy

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

[2002-07-04 16:08:25] [EMAIL PROTECTED]

Verified during the Bughunt.

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

[2002-06-22 14:39:43] [EMAIL PROTECTED]

mktime error with the following code:

mktime returns -1 for years less than 1970

Windows XP Pro, PHP 4.1.1, Microsoft-IIS/5.1
Windows 2000 Server, PHP 4.2.1, Apache/2.0.39 (Win32)

Date of Birth:   
Warning: unexpected error in date() in
C:\catalog\includes\functions\general.php on line 531

  function tep_date_short($raw_date) {
    if ( ($raw_date == '0000-00-00 00:00:00') || ($raw_date == '') )
return false;

// remove the first digit if it is 0 - as php treats these as Octals
    $year = substr($raw_date, 0, 4);
    $month = substr($raw_date, 5, 2); if (substr($month, 0, 1) == '0')
$month = substr($month, 1);
    $day = substr($raw_date, 8, 2); if (substr($day, 0, 1) == '0') $day
=  substr($day, 1);
    $hour = substr($raw_date, 11, 2); if (substr($hour, 0, 1) == '0')
$hour = substr($hour, 1);
    $minute = substr($raw_date, 14, 2); if (substr($minute, 0, 1) ==
'0') $minute = substr($minute, 1);
    $second = substr($raw_date, 17, 2); if (substr($second, 0, 1) ==
'0') $second = substr($second, 1);

    return date(DATE_FORMAT, mktime($hour, $minute, $second, $month,
$day, $year));

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

[2002-06-02 19:06:49] [EMAIL PROTECTED]

Reopened in reaction of new comment under #17472.

Regards, Kai

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

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/17123

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

Reply via email to