3v4l.org

run code in 300+ PHP versions simultaneously
<?php $nowmicro = gmp_init((time() * 1000000000) + 123456789); $asString = gmp_export($nowmicro, 8, GMP_LITTLE_ENDIAN); var_dump($asString); $backToGmp = gmp_import($asString, 8, GMP_LITTLE_ENDIAN); var_dump($backToGmp); $parts = gmp_div_qr($backToGmp, gmp_init(1000000000)); $parts[1] = $parts[1] / 1000; // u: Microseconds (up to six digits) var_dump($parts); $date = DateTimeImmutable::createFromFormat("U.u", implode(".", $parts)); var_dump($date);
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.6
string(8) "��>V" object(GMP)#2 (1) { ["num"]=> string(19) "1514430202123456789" } array(2) { [0]=> object(GMP)#4 (1) { ["num"]=> string(10) "1514430202" } [1]=> object(GMP)#3 (1) { ["num"]=> string(6) "123456" } } object(DateTimeImmutable)#5 (3) { ["date"]=> string(26) "2017-12-28 03:03:22.123456" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" }

preferences:
46.18 ms | 407 KiB | 5 Q