Os fusos horários podem ser de três tipos diferentes em objetos DateTime:
- Tipo 1; Um deslocamento UTC, como em
new DateTime("17 July 2013 -0300");
- Tipo 2; Uma abreviação de fuso horário, como em
new DateTime("17 July 2013 GMT");
- Tipo 3:um identificador de fuso horário, como em
new DateTime( "17 July 2013", new DateTimeZone("Europe/London"));
Somente objetos DateTime com fusos horários tipo 3 anexados permitirão o horário de verão corretamente.
Para ter sempre o tipo 3, você precisará armazenar o fuso horário em seu banco de dados como identificadores aceitos desta lista e aplicá-lo ao seu objeto DateTime na instanciação.