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?