Como posso determinar se uma determinada data está no horário de verão para um determinado fuso horário no .NET 2.0?

StackOverflow https://stackoverflow.com/questions/44795

Pergunta

Estou no .NET 2.0, rodando em Medium Trust (então Informações sobre fuso horário e o Registro não são opções permitidas).Estou pedindo ao usuário duas datas e um fuso horário e adoraria poder determinar automaticamente se preciso ajustar o fuso horário para o horário de verão.

Este provavelmente nem é um cenário válido, a menos que eu tenha algum muito suporte robusto, a la Informações sobre fuso horário, para diferenciar entre todas as diferentes variedades de fusos horários em primeiro lugar.

Foi útil?

Solução

No .NET 2.0 você mesmo precisa codificar isso.Envolve pesquisar as leis de horário de verão em várias regiões e incorporá-las em suas próprias estruturas de dados.O problema é um tanto simplificado se você se preocupa apenas com um subconjunto de fusos horários, por exemplo, apenas nos EUA, mas se precisar de todos os fusos horários globais, terá muito trabalho a fazer e o código deverá ser atualizado a cada poucos anos quando as leis mudam.Até mesmo os novos objetos de fuso horário na versão mais recente do .NET exigirão atualizações do Windows para mantê-los corretos à medida que as leis mudam.

Olhar aqui, aqui, e aqui para mais informações.

Outras dicas

O Banco de dados TZ é um banco de dados de domínio público de regras de fuso horário que é muito bem mantido.Também existe um formato compilado para os dados que eles fornecem e muitas bibliotecas disponíveis para ler os dados compilados, como esta: ZoneInfo (banco de dados tz / banco de dados Olson) API .NET

Excelente biblioteca de fuso horário aqui: TZ4Net

Bem, desde TimeZoneInfo for excluído, você provavelmente não encontrará uma solução no próprio framework (mas não me cite sobre isso).

Nesse caso, você já pensou em refletir o TimeZoneInfo class e usando o que você encontra lá?

@Domênico, considerei, mas prefiro permanecer legal, e tenho quase certeza de que as informações teriam que ser incorporadas à estrutura de qualquer maneira ou obtidas do registro de alguma forma sorrateira que não exija permissões. .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top