|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2011-01-06 02:54 UTC] 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. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 10:00:01 2025 UTC |
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.