Sommerzeitregel und -umwandlung

  • Da Silverlight nicht über vollständige TimeZoneInfo verfügt, muss ich einige Funktionen selbst implementieren. Diese Informationen stammen beispielsweise aus .NET TimeZoneInfo

     ID: Central Standard Time
       Display Name:   (UTC-06:00) Central Time (US & Canada)
       Standard Name:                   Central Standard Time
       Daylight Name:                   Central Daylight Time   ***Has Daylight Saving Time***
       Offset from UTC:                      -6 hours, 0 minutes
       Number of adjustment rules:                          2
       Adjustment Rules:
          From 1/1/0001 12:00:00 AM to 12/31/2006 12:00:00 AM
          Delta: 01:00:00
          Begins at 2:00 AM on Sunday of week 1 of April
          Ends at 2:00 AM on Sunday of week 5 of October
          From 1/1/2007 12:00:00 AM to 12/31/9999 12:00:00 AM
          Delta: 01:00:00
          Begins at 2:00 AM on Sunday of week 2 of March
          Ends at 2:00 AM on Sunday of week 1 of November
     

    Meine Frage ist, wie ich solche Regeln wann implementiere Muss ich von UTC nach lokal und zurück konvertieren?

    Soll ich UTC nehmen, 6 Stunden abziehen und dann prüfen, ob es am Sonntag der 2. Märzwoche nach 2 Uhr morgens ist und dann 1 Stunde hinzufügen?

    Oder sollte ich UTC nehmen, überprüfen, ob es nach 2 Uhr morgens ist und dann 5 abziehen?

    22 November 2011
    katit
1 answer
  • Die Zeit, zu der die Sommerzeit wirksam wird, ist lokal für diese Zeitzone, nicht für UTC. Sie sollten also die UTC-Zeit in Anspruch nehmen, 6 Stunden abziehen, die Überprüfung durchführen und dann gegebenenfalls die Stunde hinzufügen.

    22 November 2011
    Brandon