Determinando a Hora em que uma Data Começa
Digamos que eu queira criar um planejador diário e que eu queira dividir o dia em pedaços de 15 minutos.
Fácil né? Apenas comece à meia-noite e ... Errado! Na América / São_Paulo, um dia de cada ano começa às 01:00 devido a alterações no horário de verão.
Dado um fuso horário e uma data, como encontrar a hora da época em que o dia começa?
Meu primeiro pensamento foi usar o seguinte, mas supõe que todos os dias tenham 23:59. Provavelmente, isso não é melhor do que assumir que cada dia tem meia-noite.
perl -MDateTime -E'
say
DateTime->new( year => 2013, month => 10, day => 20 )
->subtract( days => 1 )
->set( hour => 23, minute => 59 )
->set_time_zone("America/Sao_Paulo")
->add( minutes => 1 )
->strftime("%H:%M");
'
01:00
Existe uma alternativa mais robusta ou mais direta?