Я запутался в объекте JavaScript Date
и его методе getTime()
. От: минимальная и максимальная дата
Там написано, что фактические макс и мин. количество миллисекунд (мс), представляемых объектом JS Date
, составляет (-/+)8 640 000 000 000 000 мс с 1 января 1970 года по всемирному координированному времени.
Однако для 8.640.000.000.000.000 требуется 53 бита.
С другой стороны, все числа JS представляют собой 64-битные числа с плавающей запятой, содержащие только 52 дробных бита (исключая бит знака).
Таким образом, как JS может сохранить результат Date.getTime()
, когда Date
является либо максимальным, либо минимальным значением даты? Для этого нужно использовать один из битов экспоненты, верно?
Означает ли это также, что преобразование JS Date
(через количество мс) в int64 (например, для использования в Qt) строго невозможно?