Avatar billede jps2mt Nybegynder
17. august 2004 - 20:48 Der er 7 kommentarer og
1 løsning

UNIX timestamp til Normal læselig dato

Er der nogen der har en funktion der kan konvertere et UNIX timestamp (antal sekunder siden 1/1/1970 00:00:00 GMT) til en almindelig dato og det samme fra en almindelig dato til et UNIX timestamp.

Jeg har googlet lidt, men synes ikke jeg har kunnet finde noget jeg har kunnet bruge til noget...

Det eneste jeg fandt var flg.: 
MsgBox DateAdd("s", "1092768466", "1/1/1970")

Den burde give:
17/08/2004 20:47:46

Den giver:
17/08/2004 18:47:46

Altså den tager ikke højde for hvilken tidszone...
Nogen der kan få den til det??
Avatar billede arne_v Ekspert
17. august 2004 - 21:17 #1
Jeg tror at den er korrekt !

Det unix timestamp er sikkert GMT.

Og forskellen på GMT og dansk sommertid er 2 timer.
Avatar billede arne_v Ekspert
17. august 2004 - 21:17 #2
Så du skal vel bare ligge de 2 timer til ?
Avatar billede arne_v Ekspert
17. august 2004 - 21:19 #3
+2*60*60 eller +1*60*60
Avatar billede jps2mt Nybegynder
17. august 2004 - 21:22 #4
Ja, men så holder det jo ikke hvis programmet kører i en anden tidszone end +2

Jeg leder sådanset efter et eller andet der kan finde ud af hvor mange timer (+/-) forskellen er på GMT i den tidszone som maskinen er sat op til.
Avatar billede arne_v Ekspert
17. august 2004 - 21:45 #5
Følgende burde virke, men gør det ikke hos mig:

Private Type SYSTEMTIME
  wYear        As Integer
  wMonth        As Integer
  wDayOfWeek    As Integer
  wDay          As Integer
  wHour        As Integer
  wMinute      As Integer
  wSecond      As Integer
  wMilliseconds As Integer
End Type

Private Type TIME_ZONE_INFORMATION
  Bias        As Long
  StandardName(32) As Integer
  StandardDate As SYSTEMTIME
  StandardBias As Long
  DaylightName(32) As Integer
  DaylightDate As SYSTEMTIME
  DaylightBias As Long
End Type

Private Declare Function GetTimeZoneInformation Lib "kernel32.dll" (lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long

og:

  Dim tz As TIME_ZONE_INFORMATION
  Call GetTimeZoneInformation(tz)
  MsgBox CStr(tz.Bias)
Avatar billede jps2mt Nybegynder
23. august 2004 - 08:59 #6
Hmmm...Nu har jeg rodet og derefter rodet lidt mere med det...

Synes kun jeg kan få den til at sige 60 minutter, det er somom den ikke tager højde for sommertiden... :S
Avatar billede arne_v Ekspert
23. august 2004 - 11:46 #7
Samme hos mig.

Docs på GetTimeZoneInformation siger ellers at det burde virke.

Du kan jo evt. prøv at lege lidt med regional settings og dato og
se om du kan gennemskue hvad MS har gang i.
Avatar billede jps2mt Nybegynder
26. februar 2005 - 19:49 #8
Har opgivet projektet for nogen tid siden...
Lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester