Ich möchte die aktuelle Uhrzeit meines Systems abrufen. Dafür verwende ich den folgenden Code in C:
time_t now;
struct tm *mytime = localtime(&now);
if ( strftime(buffer, sizeof buffer, "%X", mytime) )
{
printf("time1 = \"%s\"\n", buffer);
}
Das Problem ist, dass dieser Code eine zufällige Zeit gibt. Außerdem ist die zufällige Zeit jedes Mal anders. Ich möchte die aktuelle Zeit meines Systems.
Antworten:
Von hier kopiert :
(Fügen Sie einfach "void" zur Liste der Argumente von main () hinzu, damit dies in C funktioniert.)
quelle
strptime
Funktion in time.h verwenden , um vonchar *
zustruct tm
time_t
Objekt als Argument fürtime()
. PuttingNULL
,0
usw. als Parameter arbeitet die aktuelle Uhrzeit zurückzukehren.Initialisieren Sie Ihre
now
Variable.Die
localtime
Funktion wird der Zeitwert in dem vergangen konvertieren ,time_t
um einestruct tm
, ist es nicht eigentlich die Systemzeit abzurufen.quelle
Einfacher Weg:
quelle
#include <string.h>
Um die Antwort von @mingos oben zu erweitern, habe ich die folgende Funktion geschrieben, um meine Zeit auf ein bestimmtes Format zu formatieren ([TT MM JJJJ HH: MM: SS]).
Weitere Informationen
struct tm
zu finden Sie hier .quelle
quelle
Leute, mit dieser Funktion können Sie die aktuelle Ortszeit abrufen. Wenn Sie gmtime möchten, verwenden Sie die Funktion gmtime anstelle von localtime. Prost
quelle
Wenn Sie nur die Zeit ohne Datum benötigen.
quelle
quelle
void main()
sollte seinint main(void)
.Jungs, ich habe einen neuen Weg, um Systemzeit zu bekommen. Es ist zwar langwierig und voller alberner Arbeiten, aber auf diese Weise können Sie die Systemzeit im Ganzzahlformat erhalten.
quelle