В Западной Европе этим утром 2019-10-27 02:30:00 фактически могут быть "два" временных события:
- 02: 30 до изменения летнего времени в 03:00.
- 03:30, который стал (после изменения летнего времени в 03:00) 02:30
Как datetime
синтаксический анализатор и pytz
имеют дело сфакт синтаксического анализа этой даты может привести к двум различным временным событиям?
import datetime, pytz
d = datetime.datetime.strptime("2019-10-27 02:30:00", '%Y-%m-%d %H:%M:%S')
pst = pytz.timezone('Europe/Paris')
d = pst.localize(d)
print(d) # 2019-10-27 02:30:00+01:00
print(d.timestamp()) # 1572139800.0
Действительно, это также могло бы быть 2019-10-27 02:30:00+02:00
(то есть 02:30, UTC + 2, до изменения времени по летнему времени). ).
Примечание:
import datetime
print(datetime.datetime.fromtimestamp(1572139800.0)) # 2019-10-27 02:30:00
print(datetime.datetime.fromtimestamp(1572136200.0)) # 2019-10-27 02:30:00
(эти две разные метки времени UTC действительно имеют одинаковую дату и время в часовом поясе Европы / Парижа)