Bug #46597 [Com]: Inconsistent return values for strtotime('0000-00-00')

[email protected] ("contractfrombelow at gmail dot com") Tue, 30 Mar 2010 22:09:57 +0200 (CEST)
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at http://bugs.php.net/bug.php?id=46597&edit=1

 ID:               46597
 Comment by:       contractfrombelow at gmail dot com
 Reported by:      fsb at thefsb dot org
 Summary:          Inconsistent return values for strtotime('0000-00-00')
 Status:           Verified
 Type:             Bug
 Package:          Date/time related
 Operating System: *
 PHP Version:      5.*, 6CVS (2009-04-30)

 New Comment:

We are getting this same problem, but only on 64 bit platforms. I've
tested on a 
few different machines, all 64 bit machines return int(-62169955200). 32
bit 
machines return bool(false) as expected. This happens on 5.2.x and
5.3.x.


Previous Comments:
------------------------------------------------------------------------
[2009-01-16 18:24:50] marco at tumis dot com

I've reproduced this on CentOS with kernel 2.6.9-55.ELsmp using php
version:

PHP 5.2.8 (cli) (built: Jan  5 2009 15:01:45) 
and the 5.2.8 apache module.

And I think it should go back to returning bool(false).

------------------------------------------------------------------------
[2008-11-17 18:33:04] fsb at thefsb dot org

i was wrong with the expected results. a year of 0000 is reasonable but

neither month = 00 nor day of of the month = 00 are possible, so the 
strtotime('0000-00-00') should return bool(false)

------------------------------------------------------------------------
[2008-11-17 17:41:21] fsb at thefsb dot org

Description:
------------
strtotime('0000-00-00') returns int(-62169955200) in a script run by 
apache web server and bool(false) when run by the command line.




Reproduce code:
---------------
<?php
var_dump(strtotime('0000-00-00'));
?>
this script outputs int(-62169955200) to the web browser when run as a
web page and bool(false) when run on the command line.

Expected result:
----------------
i would expect the same result from running the function in the two 
contexts. 

regarding which result strtotime('0000-00-00') should return, i don't 
know. both answers seem reasonable to me. it would help if php 
documentation would specify the range of dates and unix timestamps that

date and time functions can handle.

Actual result:
--------------
int(-62169955200) in the web page
bool(false) in the command line





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



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