Wie kann ich UTCTime in Millisekunde seit dem 1. Januar 1970 in C-Sprache erhalten
Gibt es eine Möglichkeit, um Millisekunden und seine Fraktion Teil von 1970 mit der Zeit.h in der c-Sprache?
InformationsquelleAutor der Frage Siddiqui | 2009-12-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktioniert auf Ubuntu-Linux:
Zum Zeitpunkt des Schreibens dieses Artikels, die printf () - oben ist mir 1338850197035. Sie können eine Plausibilitätsprüfung bei den TimestampConvert.com website, wo Sie können geben Sie den Wert ein, um den entsprechenden Wert lesbare Zeit (wenn auch ohne Millisekunden-Präzision).
InformationsquelleAutor der Antwort stackoverflowuser2010
Wenn Sie wollen Millisekunde Auflösung, die Sie verwenden können, gettimeofday() in Posix. Für eine Windows-Implementierung finden Sie unter gettimeofday-Funktion für windows.
InformationsquelleAutor der Antwort Plow
Es ist nicht standard C, aber
gettimeofday()
ist in beiden vorhanden SysV und BSD-abgeleiteten Systemen, und ist in POSIX. Es gibt die Zeit seit Beginn der Epoche in einemstruct timeval
:InformationsquelleAutor der Antwort caf
Für Unix-und Linux-Sie verwenden könnte gettimeofday.
Für Win32, die Sie nutzen könnten GetSystemTimeAsFileTime und dann umwandeln von time_t + Millisekunden.
InformationsquelleAutor der Antwort dalle
InformationsquelleAutor der Antwort mede griessen
Unix-Zeit oder Posix-Zeit ist die Zeit, in Sekunden seit Beginn der Epoche, die Sie erwähnt.
bzabhi's Antwort ist richtig: multiplizieren Sie einfach den Unix-timestamp von 1000 um Millisekunden.
Sich bewusst sein, dass alle Millisekunden-Werte zurückgegeben, indem Sie sich auf der Unix-timestamp wird vielfachen von 1000 (wie 12345678000). Die Auflösung ist immer noch nur 1 Sekunde.
Man nicht bekommen kann, für den Bruchteil
Den Kommentar von Pavel korrekt ist auch. Der Unix-timestamp nicht berücksichtigt Schaltsekunden. Dies macht es noch weniger ratsam zu verlassen, auf eine Konvertierung in Millisekunden.
InformationsquelleAutor der Antwort pavium