В python 2 мы имеем:
>>> datetime.datetime.utcfromtimestamp(1000000000005.0/1000.0)
datetime.datetime(2001, 9, 9, 1, 46, 40, 5000)
Но в python 3 мы имеем:
>>> datetime.datetime.utcfromtimestamp(1000000000005.0/1000.0)
datetime.datetime(2001, 9, 9, 1, 46, 40, 4999)
В чем причина этого странного поведения округления и он предназначен? Разве не 1000000000005.0
все еще находится в диапазоне удвоений с несколькими цифрами, чтобы сэкономить?