Como preservar o tempo exato (horário de verão) para uma aplicação web?
-
06-07-2019 - |
Pergunta
Ok esta pode ser uma pergunta simples, mas eu ainda tenho que vir com uma solução de trabalho, de modo a quem puder ajudar obrigado antecipadamente.
Considere o seguinte cenário: Temos uma aplicação web em execução no MySQL (se você precisa saber) que é digamos dependente do tempo um aplicativo que envia um e-mail em tempo especificado o usuário. Agora, cada usuário não definiu seu adequada fuso horário / cidade e os servidores estão em execução no UTC pela simplicidade. O tempo exato seria hora do servidor + fuso horário + horário de verão. O usuário quer o email para alcançá-lo em 04 de janeiro de 2010 17:00 seu tempo. A minha pergunta seria como tirar o horário de verão correto? O significado é este usuário em uma região que observa DST se assim fez ele / ela observá-lo ou ainda não?
Meu primeiro impulso seria encontrar um serviço web que, dado o fuso horário atual / cidade iria dar-lhe o horário de verão adequada. Até agora eu não encontrei um. Estou desencorajado pela segunda idéia, que eu tenho que definir regras para DST desde estes mudam de ano para ano e em alguns países por mais de um dia ou dois.
Qualquer ajuda muito apreciada.
Solução
Se a sua linguagem de programação não tem suporte para a lógica de fuso horário fantasia, você não tem que programar as regras por si mesmo. Você apenas precisa de apoio do programa para o zoneinfo banco de dados.
Outras dicas
Guarde as suas datas como segundos desde 1 de janeiro de 1970 GMT no seu banco de dados e você sempre terá o tempo tratadas. Quando o usuário entra no seu tempo, convertê-lo como apropriadamente usando as configurações de fuso horário correto e você está feito.
Seus servidores já estão funcionando sem fusos horários por isso, quando chega a hora que é um fácil escolha.
Aqui está alguns código para fazer a conversão fuso horário em LISP: