title image


Smiley Danke nochmal an Reinhard
Von ihm hab ich diesen Code bekommen, der alle Eventualitäten mit einbezieht.



Public Function Sommerzeit(Optional ByVal Jahr As Long = -1)

Dim D As Date

If Jahr < 0 Then Jahr = Year(Date)

Sommerzeit = Null

If Jahr >= 1980 Then

D = DateSerial(Jahr, 4, 1)

Sommerzeit = DateAdd("d", -DatePart("w", D, vbMonday), D)

End If

End Function





Public Function Winterzeit(Optional ByVal Jahr As Long = -1)

Dim D As Date

Winterzeit = Null

If Jahr < 0 Then Jahr = Year(Date)

If Jahr >= 1980 Then

D = DateSerial(Jahr, 11, 1)

If Jahr <= 1995 Then D = DateSerial(Jahr, 10, 1)

Winterzeit = DateAdd("d", -DatePart("w", D, vbMonday), D)

End If

End Function





Public Function UnixDate(D As Long) As Date

UnixDate = METToUTC(DateAdd("s", D, DateSerial(1970, 1, 1)))

End Function





Public Function METToUTC(D As Date) As Date

Dim IstSommerzeit As Boolean

IstSommerzeit = D >= Sommerzeit(Year(D)) And D < Winterzeit(Year(D))

METToUTC = DateAdd("h", IIf(IstSommerzeit, 2, 1), D)

End Function



Aufrufen tust Du das Ganze dann mit

UnixDate([Dein Datumsfeld])


Gruß,
Olli.


Ich habe 'ne Oberschenkelzerrung im linken Fuß
(Guido Buchwald)



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: