Почему при конвертации milliseconds в date выдает ошибки?

В чем здесь ошибка?

Пробую разные варианты, везде неверно выдает время, цифр 13, вроде и должно быть

$time = 1661990401854;
$date = date('d.m.Y H:i:s', $time);
// 19.05.54636 03:30:54

$time = 1661990401854;
$date = date('d.m.Y H:i:s', $time / 1000);
// Deprecated</b>:  Implicit conversion from float 1661990401.854 to int loses precision

$time = 1661990401854;
$date = date('d.m.Y H:i:s', $time * 1000);
// 31.03.52668349 14:00:00

Ответы (1 шт):

Автор решения: xRef

Разделите ваш timestamp на 1000 и округлите

$time = 1661990401854;
$date = date('d.m.Y H:i:s', round($time / 1000));
→ Ссылка