Doc #53662 [Tbd->Csd]: strtotime() returns inconsistent output on 64 bit systems

From: Date: Sun, 03 Jul 2011 00:41:42 +0000
Subject: Doc #53662 [Tbd->Csd]: strtotime() returns inconsistent output on 64 bit systems
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-6821@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=53662&edit=1 ID: 53662 Updated by: frozenfire@php.net Reported by: smenjas at gmail dot com Summary: strtotime() returns inconsistent output on 64 bit systems -Status: To be documented +Status: Closed Type: Documentation Problem Package: Date/time related Operating System: Ubuntu 10.10 PHP Version: 5.3.4 -Assigned To: +Assigned To: frozenfire Block user comment: N Private report: N New Comment: This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. Previous Comments: ------------------------------------------------------------------------ [2011-01-24 18:25:10] vita10gy at charter dot net Damn. Well then I second adding some sort of strict date option to the server config options where 2010-08-36 and 0000-00-00 are NOT valid, since documented or not, we could debate if that's a bug or a feature. :) ------------------------------------------------------------------------ [2011-01-24 18:10:38] vita10gy at charter dot net If you pass the returned timestamp back to date() you get -0001-11-30 00:00:00 0 might be a valid year, 0 isn't a valid month or day. Database dates can be nothing or 0000-00-00 00:00:00 if null isn't allowed, so the easiest check for both is to see if strtotime === false, or not. Obviously there are workarounds, but depending on the feasibility of changing lots of legacy code, this could be a show stopper for upgrading. 0000-00-00 00:00:00 is a nonsensical date and the timestamp returned is nonsense. Please return false. Pretty please? :) ------------------------------------------------------------------------ [2011-01-24 18:07:51] tjw at tjw dot org Nevermind, I see this underflow/overflow behavior is documented here http://us2.php.net/manual/en/datetime.formats.date.php. It might be nice if there were a "strict" option to turn this behavior off, but that's another story. ------------------------------------------------------------------------ [2011-01-24 18:03:04] tjw at tjw dot org Shouldn't "0000-00-00 00:00:00" return false because there is no 00 month or 00 day in any month? ------------------------------------------------------------------------ [2011-01-06 11:44:08] pajoye@php.net Blog post are not documentation, if the docs do not have this info then let mark this bug as "to be documented". ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=53662 -- Edit this bug report at https://bugs.php.net/bug.php?id=53662&edit=1

« previous php.doc.bugs (#6821) next »