ID:               48306
 Updated by:       der...@php.net
 Reported By:      jhoseinii at gmail dot com
 Status:           Bogus
 Bug Type:         Date/time related
 Operating System: Linux Fedora Centos 5.x
 PHP Version:      5.2.9
 New Comment:

Actually, you can do this things on 32-bit as well, like:

$U = 2191928815;
$d = date_create( "@$U" );
echo date_format( $d, 'Y.m.d H:i:s' );


Previous Comments:
------------------------------------------------------------------------

[2009-05-16 20:18:50] ras...@php.net

Works fine on 64-bit Linux (Debian) for me.  I get:

2039.06.17 13:06:55

However, you are probably on a 32-bit platform in which case your
timestamps are going to go negative at 2^32 which is 2147483648.  So, in
your case your timestamp is actually the same as -2103038481 (-2^32 +
(2191928815 - 2^32) which is exactly and correctly 1903.05.12 06:38:39

So, the short version is that if you want to play with Unix timestamps
that represent times after Jan.19 2038 you are going to need to go
64-bit.

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

[2009-05-16 20:01:10] jhoseinii at gmail dot com

Description:
------------
Hi,

I tried to use date for convert U (seconds passed from 1970.1.1 up to
about 2030, but it returned some unsuitable result
check this sample: 

$U = 2191928815;
echo gmdate('Y.m.d H:i:s', $U); // 1903.05.12 06:38:39




Reproduce code:
---------------
non

Expected result:
----------------
non

Actual result:
--------------
non


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


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

Reply via email to