Hallo,
ich suche nach einen Lösung wie ich einen UNIX TimeStamp der die Zeit in Millisekunden darstellt in Datum + Zeit + Millisekunden umformen kann. Habe leider nur Lösungen für den normale UNIX TimeStamp gefunden.
Gruß Ingo
Hallo,
ich suche nach einen Lösung wie ich einen UNIX TimeStamp der die Zeit in Millisekunden darstellt in Datum + Zeit + Millisekunden umformen kann. Habe leider nur Lösungen für den normale UNIX TimeStamp gefunden.
Gruß Ingo
Irgendwie macht deine Aussage keinen Sinn. Es gibt keine zwei Arten von UNIX-Timestamps.
Hallo,
das dachte ich bis vor einigen Tagen auch. Aber jetzt habe ich gelernt, dass es eine Angabe in Sekunden und eine in Millisekunden gibt.
Gruß Ingo
Hi,
UNIX Time Stamp ist definitiv die Anzahl der Sekunden seit 1. Januar 1970.
Bist du dir sicher, dass du das nicht mit Timestamps innerhalb von EDV-Systemen verwechselst, welche die Zeit in Millisekunden seit Rechnerstart oder seit dem 1. Januar 1900 verwenden. Diese haben aber mit dem Unix-Timestamp nichts zu tun!
Btw, wenn du Millisekunden hast, schneide einfach die letzten 3 Stellen ab
#include <Date.au3>
$input_UnixDate = "1441279108" ;Sekunden
$winDate = _DateTimeFormat(_DateAdd('s', $input_UnixDate, "1970/01/01 00:00:00"), 0)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $winDate = ' & $winDate & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
$input_UnixDateMS = "1441279108123" ;Millisekunden
$winDate = _DateTimeFormat(_DateAdd('s', StringTrimRight($input_UnixDateMS, 3), "1970/01/01 00:00:00"), 0)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $winDate = ' & $winDate & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
schau mal hier, ob das dir weiterhilft ...
http://www.rlmueller.net/Integer8Attributes.htm
hierzu das VBS Script dazu ...
' DateToInteger8.vbs
' VBScript program demonstrating how to convert a datetime value to
' the corresponding Integer8 (64-bit) value. The Integer8 value is the
' number of 100-nanosecond intervals since 12:00 AM January 1, 1601,
' in Coordinated Universal Time (UTC). The conversion is only accurate
' to the nearest second, so the Integer8 value will always end in at
' least 7 zeros.
' beispiel: "C:\test.vbs" "5/5/2010 0:00:00 PM"
'
' ----------------------------------------------------------------------
' Copyright (c) 2004 Richard L. Mueller
' Hilltop Lab web site - http://www.rlmueller.net
' Version 1.0 - June 11, 2004
'
' You have a royalty-free right to use, modify, reproduce, and
' distribute this script file in any way you find useful, provided that
' you agree that the copyright owner above has no warranty, obligations,
' or liability for such use.
Option Explicit
Dim dtmDateValue, dtmAdjusted, lngSeconds, str64Bit, objShell, lngBiasKey, lngBias, k, fso, file
Dim WshShell
dtmDateValue = InputBox(" Enter Date to convert" & vbcrlf & vbcrlf &" 5/5/2010 0:00:00 PM","Integer8 Converter", " 5/5/2010 0:00:00 PM")
' Evaluate the user input.
If dtmDateValue = "" Then ' Canceled by the user
WScript.Echo "Canceled by the user"
WScript.Quit
Else
'WScript.Echo dtmDateValue
End If
' Obtain local Time Zone bias from machine registry.
Set objShell = CreateObject("Wscript.Shell")
lngBiasKey = objShell.RegRead("HKLM\System\CurrentControlSet\Control\" _
& "TimeZoneInformation\ActiveTimeBias")
If UCase(TypeName(lngBiasKey)) = "LONG" Then
lngBias = lngBiasKey
ElseIf UCase(TypeName(lngBiasKey)) = "VARIANT()" Then
lngBias = 0
For k = 0 To UBound(lngBiasKey)
lngBias = lngBias + (lngBiasKey(k) * 256^k)
Next
End If
' Convert datetime value to UTC.
dtmAdjusted = DateAdd("n", lngBias, dtmDateValue)
' Find number of seconds since 1/1/1601.
lngSeconds = DateDiff("s", #1/1/1601#, dtmAdjusted)
' Convert the number of seconds to a string
' and convert to 100-nanosecond intervals.
str64Bit = CStr(lngSeconds) & "0000000"
'Wscript.Echo "Integer8 value: " & str64Bit
'Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("C:\ScriptLog.txt")
'Set File = fso.OpenTextFile("C:\log.txt",8,true)
file.WriteLine "Integer8 value: " & str64Bit
file.close
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%windir%\notepad C:\ScriptLog.txt"
'WScript.Sleep 2000
Alles anzeigen
ansonsten gibt es ja diverse Webseiten, die einen Unix Timestamp umrechnen, da könntest du auch mal schauen, ob was passendes dabei ist.
Hi,
UNIX Time Stamp ist definitiv die Anzahl der Sekunden seit 1. Januar 1970.
Bist du dir sicher, dass du das nicht mit Timestamps innerhalb von EDV-Systemen verwechselst, welche die Zeit in Millisekunden seit Rechnerstart oder seit dem 1. Januar 1900 verwenden. Diese haben aber mit dem Unix-Timestamp nichts zu tun!Btw, wenn du Millisekunden hast, schneide einfach die letzten 3 Stellen ab
AutoIt#include <Date.au3> $input_UnixDate = "1441279108" ;Sekunden $winDate = _DateTimeFormat(_DateAdd('s', $input_UnixDate, "1970/01/01 00:00:00"), 0) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $winDate = ' & $winDate & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console $input_UnixDateMS = "1441279108123" ;Millisekunden $winDate = _DateTimeFormat(_DateAdd('s', StringTrimRight($input_UnixDateMS, 3), "1970/01/01 00:00:00"), 0) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $winDate = ' & $winDate & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
Hallo,
ja es scheint wirklich eine normaler UNIX Time Stamp zu sein der um drei stellen erweitert wurde.
Also vielen Dank für die Antworten.
Gruß Ingo