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

 ID:                 53662
 Comment by:         smenjas at gmail dot com
 Reported by:        smenjas at gmail dot com
 Summary:            strtotime() returns inconsistent output on 64 bit
                     systems
 Status:             Bogus
 Type:               Bug
 Package:            Date/time related
 Operating System:   Ubuntu 10.10
 PHP Version:        5.3.4
 Block user comment: N
 Private report:     N

 New Comment:

Thanks for the incredibly prompt reply.



That makes sense, except that to the best of my knowledge the year zero
is not valid in either the Julian or Gregorian calendars.



I had assumed that strtotime would return FALSE for invalid dates.  On
my 32 bit Ubuntu system, this appears to the case. 
strtotime("2011-01-32") returns FALSE, as opposed to returning the
timestamp for "2011-02-01".



An in depth reading of the documentation did not clarify how strtotime()
should be expected to handle invalid date strings.


Previous Comments:
------------------------------------------------------------------------
[2011-01-06 02:57:07] ras...@php.net

This is expected.  On 64-bit systems the date range supported is much
larger than 

on 32-bit systems.

------------------------------------------------------------------------
[2011-01-06 02:54:19] smenjas at gmail dot com

Description:
------------
---

>From manual page: http://www.php.net/function.strtotime

---

strtotime() produces different output on 32 and 64 bit systems running
PHP 5.3.  

This affects the "zero date" ("0000-00-00 00:00:00") as well as dates
outside the 

traditional 32 date range.



strtotime("0000-00-00 00:00:00") returns FALSE on a 32 bit system.

strtotime("0000-00-00 00:00:00") returns -62169955200 on a 64 bit
system.

Test script:
---------------
<?php



var_export(strtotime("0000-00-00 00:00:00"));



?>

Expected result:
----------------
On 64 bit systems, I would expect strtotime("0000-00-00 00:00:00") to
return 

FALSE as it does on 32 bit systems.

Actual result:
--------------
On 64 bit systems, strtotime("0000-00-00 00:00:00") returns
-62169955200.


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



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

Reply via email to