Como obtenho o horário UTC de "meia-noite" para um determinado fuso horário?

O melhor que posso apresentar por enquanto é essa monstruosidade:

>>> datetime.utcnow() \
...   .replace(tzinfo=pytz.UTC) \
...   .astimezone(pytz.timezone("Australia/Melbourne")) \
...   .replace(hour=0,minute=0,second=0,microsecond=0) \
...   .astimezone(pytz.UTC) \
...   .replace(tzinfo=None)
datetime.datetime(2008, 12, 16, 13, 0)

Ou seja, em inglês, obtenha a hora atual (em UTC), converta-a para outro fuso horário, defina a hora para meia-noite e depois converta novamente para UTC.

Não estou apenas usando now () ou localtime (), pois isso usaria o fuso horário do servidor, não o fuso horário do usuário.

Não posso deixar de sentir que estou perdendo alguma coisa, alguma idéia?

questionAnswers(4)

yourAnswerToTheQuestion