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