3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * @param int|float|string $timestamp */ function createDateTimeImmutableFromTimestamp($timestamp): \DateTimeImmutable { if (\is_string($timestamp)) { $timestamp = \ctype_digit($timestamp) ? (int)$timestamp : (float)$timestamp; } $secs = (int)$timestamp; $usecs = \is_float($timestamp) ? (int)(1000000 * ($timestamp - $secs)) : 0; return \DateTimeImmutable::createFromFormat('U u', \sprintf('%d %06d', $secs, $usecs)); } $tests = [time(), microtime(true), 1234567890.123, '1.12345678901e9']; foreach ($tests as $test) { echo "{$test}: " . createDateTimeImmutableFromTimestamp($test)->format('Y-m-d H:i:s.u') . "\n"; }
Output for 7.3.1
1547952585: 2019-01-20 02:49:45.000000 1547952585.3148: 2019-01-20 02:49:45.314786 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.3.0
1547952585: 2019-01-20 02:49:45.000000 1547952585.4012: 2019-01-20 02:49:45.401175 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.13
1547952585: 2019-01-20 02:49:45.000000 1547952585.4209: 2019-01-20 02:49:45.420901 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.12
1547952585: 2019-01-20 02:49:45.000000 1547952585.6784: 2019-01-20 02:49:45.678428 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.11
1547952585: 2019-01-20 02:49:45.000000 1547952585.8409: 2019-01-20 02:49:45.840884 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.10
1547952585: 2019-01-20 02:49:45.000000 1547952585.9187: 2019-01-20 02:49:45.918747 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.9
1547952585: 2019-01-20 02:49:45.000000 1547952585.8346: 2019-01-20 02:49:45.834639 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.8
1547952586: 2019-01-20 02:49:46.000000 1547952586.0624: 2019-01-20 02:49:46.062443 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.7
1547952586: 2019-01-20 02:49:46.000000 1547952586.1489: 2019-01-20 02:49:46.148937 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.6
1547952586: 2019-01-20 02:49:46.000000 1547952586.6059: 2019-01-20 02:49:46.605937 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.5
1547952586: 2019-01-20 02:49:46.000000 1547952586.6973: 2019-01-20 02:49:46.697277 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.4
1547952586: 2019-01-20 02:49:46.000000 1547952586.4804: 2019-01-20 02:49:46.480386 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.3
1547952586: 2019-01-20 02:49:46.000000 1547952586.7606: 2019-01-20 02:49:46.760575 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.2
1547952586: 2019-01-20 02:49:46.000000 1547952586.9285: 2019-01-20 02:49:46.928456 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.1
1547952587: 2019-01-20 02:49:47.000000 1547952587.1812: 2019-01-20 02:49:47.181190 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.2.0
1547952587: 2019-01-20 02:49:47.000000 1547952587.0786: 2019-01-20 02:49:47.078573 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.25
1547952585: 2019-01-20 02:49:45.000000 1547952585.5497: 2019-01-20 02:49:45.549729 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.16
1524670697: 2018-04-25 15:38:17.000000 1524670697.0053: 2018-04-25 15:38:17.005309 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.15
1524670697: 2018-04-25 15:38:17.000000 1524670697.0054: 2018-04-25 15:38:17.005392 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.14
1524670697: 2018-04-25 15:38:17.000000 1524670697.0055: 2018-04-25 15:38:17.005542 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.13
1524670697: 2018-04-25 15:38:17.000000 1524670697.0049: 2018-04-25 15:38:17.004868 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.12
1524670697: 2018-04-25 15:38:17.000000 1524670697.0063: 2018-04-25 15:38:17.006303 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.11
1524670697: 2018-04-25 15:38:17.000000 1524670697.0051: 2018-04-25 15:38:17.005141 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.10
1524670697: 2018-04-25 15:38:17.000000 1524670697.0076: 2018-04-25 15:38:17.007603 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.9
1524670697: 2018-04-25 15:38:17.000000 1524670697.0078: 2018-04-25 15:38:17.007849 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.8
1524670697: 2018-04-25 15:38:17.000000 1524670697.0128: 2018-04-25 15:38:17.012788 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.7
1524670697: 2018-04-25 15:38:17.000000 1524670697.0055: 2018-04-25 15:38:17.005482 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.6
1524670697: 2018-04-25 15:38:17.000000 1524670697.0239: 2018-04-25 15:38:17.023947 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.5
1524670697: 2018-04-25 15:38:17.000000 1524670697.0237: 2018-04-25 15:38:17.023747 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.4
1524670697: 2018-04-25 15:38:17.000000 1524670697.0327: 2018-04-25 15:38:17.032694 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.3
1524670697: 2018-04-25 15:38:17.000000 1524670697.0248: 2018-04-25 15:38:17.024821 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.2
1524670697: 2018-04-25 15:38:17.000000 1524670697.0242: 2018-04-25 15:38:17.024185 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.1
1524670697: 2018-04-25 15:38:17.000000 1524670697.0057: 2018-04-25 15:38:17.005724 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999
Output for 7.1.0
1524670697: 2018-04-25 15:38:17.000000 1524670697.0056: 2018-04-25 15:38:17.005603 1234567890.123: 2009-02-13 23:31:30.122999 1.12345678901e9: 2005-08-07 23:19:49.009999

preferences:
69.12 ms | 401 KiB | 39 Q