April 6th, 2021

cat pilot

Пивовариха

Давно хотел посчитать фигню для часового пояса по дате и координатам, но никак не доходили руки. Hаконец, протестировал на Пивоварихe, работает:

import tzdata
from tzwhere  import tzwhere
from zoneinfo import ZoneInfo
from datetime import datetime

def getGpsDt(date, lat, lon):
 date = date.split("-")
 date = [ int(date[0]), int(date[1]), int(date[2]) ]
 tzw = tzwhere.tzwhere()
 timezone_str = tzw.tzNameAt(lat, lon)
 #print (timezone_str)
 t = datetime(date[0], date[1], date[2], tzinfo=ZoneInfo(timezone_str))
 dt = int(str(t)[-6:-3])
 return dt

print (getGpsDt("2021-04-05", 52.2810673, 104.4567538))