Как решить Errno 22 в datetime - PullRequest
       41

Как решить Errno 22 в datetime

0 голосов
/ 23 марта 2019

получение при ошибке Errno 22 Ошибка аргумента Invalida при передаче нормальной целочисленной временной метки

Я попытался добавить нормальную целочисленную временную метку

final_change_int = dictionary["timestamp"]
print(final_change_int)
datetime.fromtimestamp(final_change_int)

Результат

1551766560457
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-63-c6188e2f6967> in <module>
      1 final_change_int = dictionary["timestamp"]
      2 print(final_change_int)
----> 3 datetime.fromtimestamp(final_change_int)

OSError: [Errno 22] Invalid argument

1 Ответ

1 голос
/ 23 марта 2019

Надеюсь, у тебя все отлично,

К сожалению, в этом случае кажется, что значение метки времени неверно.

Дата, указанная вашей отметкой времени, - 12/7/51143 в 2:47:37. В зависимости от операционной системы он не будет поддерживать такую ​​дату.

Лучшее, что вы можете сделать в этом случае - это обернуть код в try...except

И делать то, что нужно, в случае неправильной отметки времени.

N.B .: В вашем случае кажется, что отметка времени должна быть разделена на 1000, прежде чем достигнуть правильной даты.

In [3]: datetime.fromtimestamp(1551766560457/1000)                                                                                                                                                                                                                             
Out[3]: datetime.datetime(2019, 3, 5, 7, 16, 0, 457000)

Хорошего дня, Мои наилучшие пожелания.

G

...