Aktuelle UTC Zeit als Unix Timestamp enfügen. (Nicht die Computerzeit)

  • Wie füge ich die aktuelle UTC Zeit (unabhängig von der aktuellen Computerzeit), als Unix Timestamp ein?
    Momentan behelfe ich mir folgendermassen:
    Erklärung:
    Ich befinde mich zur Zeit in Asien (UTC +6 Stunden)

    [autoit]

    $iDateCalc = _DateDiff( 's',"1970/01/01 06:00:00",_NowCalc())

    [/autoit]


    Diese Lösung funktioniert natürlich nur in meiner Zeitzone.... :(
    Ich brauche aber was "universelles", das in jeder Zeitzone (unabhängig von der eingestellten Uhrzeit) funktioniert

  • Das könnte klappen, aber ich weiß gerade nicht, ob es überall läuft:

    [autoit]

    $a = DllCall("msvcrt.dll", "uint_ptr:cdecl", "time", "uint_ptr*", 0)
    $b = DllCall("msvcrt.dll", "ptr:cdecl", "gmtime", "uint_ptr*", $a[0])
    $time = DllCall("msvcrt.dll", "uint_ptr:cdecl", "mktime", "ptr", $b[0])
    MsgBox(0, '', $time[0])

    [/autoit]
  • Zitat

    Das könnte klappen, aber ich weiß gerade nicht, ob es überall läuft:

    wegen der DLL meinst Du?
    Also bei mir läufts, allerdings wird mir ein Datum von -12 Stunden zu meiner Zeit angezeigt.
    Richtig wären -6 Stunden.
    PS: Wo kann ich nachlesen, was die einzelnen Parameter bedeuten?

  • Also ich da was gefunden... :P

    [autoit]

    ConsoleWrite(currentUTCtimestamp())
    Func currentUTCtimestamp()
    TCPStartUp()
    $socket = TCPConnect( '64.90.182.55', 37 )
    While 1
    If $socket > 0 Then
    $recv = TCPRecv( $socket, 512 )
    EndIf
    If $recv <> "" Then
    $a = Asc(StringMid($recv,1,1))*256^3+Asc(StringMid($recv,2,1))*256^2+Asc(StringMid($recv,3,1))*256+Asc(StringMid($recv,4,1))
    ExitLoop
    EndIf
    WEnd
    TCPCloseSocket ( $socket )
    TCPShutdown ( )
    $time = ($a - 2208985230)
    MsgBox(0, "", $time)
    EndFunc

    [/autoit]


    Eine Messagebox zeigt mir die gewünschte Zeit an.
    ABER: wie mache ich die Variable $time jetzt für den Rest des Scripts verfügbar ?(
    Und das "consolewrite" brauch ich eigentlich auch nicht...
    Erledigt
    :thumbup:

    Einmal editiert, zuletzt von vel2000 (20. Mai 2011 um 12:54)