В python конвертируем секунды с 1970 в часы с 1900 - PullRequest
0 голосов
/ 05 марта 2020

Два набора данных с разным форматом времени. Один в эпоху времени, секунды с 01.01.1970, а остальные с 01.01.1900. Нужно преобразовать первое во второе. Как я могу сделать это в python?

Спасибо

1 Ответ

2 голосов
/ 05 марта 2020

Итак, для начала, вот необходимые инструменты:

from datetime import datetime, timezone, timedelta

Затем необходимо установить sh время запуска:

atmos_epoch = datetime(1900, 1, 1, 0, 0, tzinfo=timezone.utc)

Затем вы можете работать с дельтами к этому времени:

>>> d = datetime.now(timezone.utc) - atmos_epoch
>>> d
datetime.timedelta(days=43893, seconds=28215, microseconds=982930)
>>> d.total_seconds() / 60 / 60
1053439.8377730362

Это последнее значение - разница в часах.

Вы можете добавить дельты к метке времени этой эпохи:

>>> atmos_epoch + timedelta(hours=1000000)
datetime.datetime(2014, 1, 29, 16, 0, tzinfo=datetime.timezone.utc)

Другая вещь, которую вы Кстати, секунды с 1970 года - это просто UNIX отметки времени, с которыми вы можете легко работать:

>>> datetime.now().timestamp()
1583395060.91666
>>> datetime.fromtimestamp(1500000000)
datetime.datetime(2017, 7, 14, 4, 40)

Теперь у вас есть способ преобразовать оба значения в datetime объекты и из datetime объекты с любым значением.

...