Python - da hora local ajustada ao horário de verão para UTC

Um banco específico possui agências em todas as principais cidades do mundo. Todos eles abrem às 10:00 no horário local. Se dentro de um fuso horário que usa o horário de verão, é claro que o horário local também segue o horário ajustado no horário de verão. Então, como vou da hora local para a hora utc.

O que eu preciso é de uma funçãoto_utc(localdt, tz) como isso

Arguments:

localdt: localtime, como objeto de data e hora ingênuo, ajustado pelo horário de verãotz: fuso horário no formato TZ, por exemplo «Europa / Berlim»

Returns:

bjeto @datetime, no UTC, com reconhecimento de fuso horário

EDITAR

O maior desafio é detectar se a hora local está em um período com o horário de verão, o que também significa que está ajustado no horário de verã

Para "Europa / Berlim", com +1 horário de verão no verão:

01 de janeiro 10:00 => 01 de janeiro 9:00 UTC 1 de julho 10:00 => 1 de julho 8:00 UTC

Para 'África / Lagos' sem DST:

01 de janeiro 10:00 => 01 de janeiro 9:00 UTC 1 de julho 10:00 => 1 de julho 9:00 UTC

questionAnswers(2)

yourAnswerToTheQuestion