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

 ID:                 53221
 Updated by:         [email protected]
 Reported by:        c dot d dot claxton at googlemail dot com
 Summary:            Date since epoch is incorrect
-Status:             Open
+Status:             Bogus
 Type:               Bug
 Package:            Date/time related
 Operating System:   Windows 7
 PHP Version:        5.3.3
 Block user comment: N

 New Comment:

It is just a 32-bit signed integer overflow.



Note that even 64-bit Windows still uses 32-bit integers.  



Platforms with 64-bit integers won't overflow and don't have this
problem.  Not 

much we can do about this.


Previous Comments:
------------------------------------------------------------------------
[2010-11-01 22:18:00] c dot d dot claxton at googlemail dot com

Description:
------------
Checked the number of seconds since the epoch using the code shown in
the 'Test 

script' section below. There is a discrepancy when number of seconds = 

10000000000 in that time goes backwards, i.e. 1973 to 2001 to 2014 to
2008.



Number of seconds since epoch = 1, date = 1 January 1970 01:00:01 

Number of seconds since epoch = 10, date = 1 January 1970 01:00:10 

Number of seconds since epoch = 100, date = 1 January 1970 01:01:40 

Number of seconds since epoch = 1000, date = 1 January 1970 01:16:40 

Number of seconds since epoch = 10000, date = 1 January 1970 03:46:40 

Number of seconds since epoch = 100000, date = 2 January 1970 04:46:40 

Number of seconds since epoch = 1000000, date = 12 January 1970 14:46:40


Number of seconds since epoch = 10000000, date = 26 April 1970 18:46:40


Number of seconds since epoch = 100000000, date = 3 March 1973 10:46:40


Number of seconds since epoch = 1000000000, date = 9 September 2001
03:46:40 

Number of seconds since epoch = 10000000000, date = 7 September 2014
06:50:08 

Number of seconds since epoch = 100000000000, date = 11 July 2008
06:56:32 

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

  for ($i=0; $i<12; $i++) {

    $numberOfSecondsSinceEpoch = pow(10,$i); 

    $date = date("j F Y H:i:s", $numberOfSecondsSinceEpoch);

    echo "Number of seconds since epoch = $numberOfSecondsSinceEpoch,
date = $date <br />";

  } 

?>



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



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

Reply via email to