Wie bekomme ich Millisekunden seit Mitternacht UTC in C?

7

Die Zeitfunktion in time.h gibt Millisekunden seit der Epoche.

    
Jonathan Leffler 02.07.2009, 04:15
quelle

5 Antworten

8

Das ist der genaue Weg:

%Vor%

Das speichert in msec die Anzahl der Millisekunden seit Mitternacht. (Oder -1, wenn ein Fehler beim Abrufen der Uhrzeit aufgetreten ist.)

Obwohl es normalerweise eine schlechte Idee ist, Zeitwerte in int zu speichern, bin ich ein wenig unbekümmert und unter der Annahme, dass int mindestens 32-bit ist, und kann den Bereich (-1) leicht anpassen 86.400.000.

Aber ich weiß nicht, ob es die Mühe wert ist.

    
scraimer 08.05.2012 13:00
quelle
7

Dies ist ein einfacher Weg:

%Vor%

Um ungefähre Millisekunden seit Mitternacht zu erhalten, multiplizieren Sie seconds_since_midnight mit 1000.

Wenn Sie mehr Auflösung benötigen (überlegen Sie, ob Sie das wirklich tun), müssen Sie eine andere Funktion verwenden, zB gettimeofday() .

    
Greg Hewgill 02.07.2009 04:34
quelle
5

Sie verwenden gettimeofday (2), das in POSIX.1 und BSD definiert ist.

Es gibt Sekunden und Mikrosekunden zurück, wie in struct timeval von sys / time.h definiert.

    
caskey 02.07.2009 04:26
quelle
0

Sie finden C Codebeispiele, um Zeit zu gewinnen und sie in verschiedene Formate hier zu konvertieren.

    
nik 02.07.2009 04:31
quelle
0

Werfen Sie einen Blick auf gmtime () Konvertiert direkt in koordinierte Weltzeit (UTC) ...

    
Vaibhav 02.07.2009 04:56
quelle

Tags und Links