Zurück zur Homepage

GMT-Datum umwandeln

Manchmal bekommt man ein Datum in GMT. Zu unserer Zeit hat man eine oder zwei Stunden Differenz, je nach Datum. Hier zwei Funktionen zum Umwandeln in beide Richtungen.

Public Function NormalToGMT(DatumZeit As Date) As Date
  Dim Beginn As Date, Ende As Date, Jahr&
  Jahr = Year(DatumZeit)
  Beginn = DateSerial(Jahr, 4, 0) - (WeekDay( _
    DateSerial(Jahr, 4, 0), 2) Mod 7) + TimeSerial(2, 0, 0)
  Ende = DateSerial(Jahr, 11, 0) - (WeekDay( _
    DateSerial(Jahr, 11, 0), 2) Mod 7) + TimeSerial(2, 0, 0)
  If DatumZeit > Beginn And DatumZeit < Ende Then
    NormalToGMT = DatumZeit - TimeSerial(2, 0, 0)
  Else
  NormalToGMT = DatumZeit - TimeSerial(1, 0, 0)
  End If
End Function

Public Function GmtToNormal(DatumZeit As Date) As Date
  Dim Beginn As Date, Ende As Date, Jahr&
  Jahr = Year(DatumZeit)
  Beginn = DateSerial(Jahr, 4, 0) - (WeekDay( _
    DateSerial(Jahr, 4, 0), 2) Mod 7) + TimeSerial(1, 0, 0)
  Ende = DateSerial(Jahr, 11, 0) - (WeekDay( _
    DateSerial(Jahr, 11, 0), 2) Mod 7) + TimeSerial(1, 0, 0)
  If DatumZeit > Beginn And DatumZeit < Ende Then
    GmtToNormal = DatumZeit + TimeSerial(2, 0, 0)
  Else
    GmtToNormal = DatumZeit + TimeSerial(1, 0, 0)
  End If
End Function