Das Problem ist, dass dieser Code eine zufällige Zeit angibt. Außerdem ist die zufällige Zeit jedes Mal anders. Ich möchte die aktuelle Zeit meines Systems.
/* localtime example */
#include <stdio.h>
#include <time.h>
int main ()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "Current local time and date: %s", asctime (timeinfo) );
return 0;
}
(einfach hinzufügen void zum main() Argumentliste, damit dies in C funktioniert)
eine idee wie man es andersherum macht? Zeichenfolge zu tm* ?
– Goaler444
23. März 2013 um 13:46 Uhr
Ich weiß, es ist wahrscheinlich ein bisschen spät und Sie haben es wahrscheinlich schon herausgefunden, aber Sie würden das verwenden strptime Funktion ein Zeit.h umzuwandeln char * zu struct tm
– KingRadical
5. November 2013 um 19:59 Uhr
Beachten Sie, dass asctime() am Ende der Zeichenfolge ein \n hinterlässt.
– h7r
23. März 2014 um 22:15 Uhr
Der obige Code ist redundant. asctime(localtime(&rawtime)) entspricht einem einzelnen ctime(&rawtime)-Funktionsaufruf.
– Duleshi
21. Mai 2014 um 8:45 Uhr
FYI – Tust du nicht brauchen a time_t Objekt als Argument für time(). Putten NULL, 0usw., da der Parameter die aktuelle Zeit zurückgibt.
– Superkat
21. Dezember 2015 um 0:30 Uhr
Initialisieren Sie Ihre now Variable.
time_t now = time(0); // Get the system time
Das localtime Funktion wird verwendet, um den Zeitwert in die übergebene umzuwandeln time_t zu einem struct tmes ruft nicht wirklich die Systemzeit ab.
Um die Antwort von @mingos oben zu erweitern, habe ich die folgende Funktion geschrieben, um meine Zeit in einem bestimmten Format zu formatieren ([dd mm yyyy hh:mm:ss]).
// Store the formatted string of time in the output
void format_time(char *output){
time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
sprintf(output, "[%d %d %d %d:%d:%d]", timeinfo->tm_mday,
timeinfo->tm_mon + 1, timeinfo->tm_year + 1900,
timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
}
Weitere Informationen zu struct tm kann gefunden werden hier.
#include<stdio.h>
#include<time.h>
void main()
{
time_t t;
time(&t);
printf("\n current time is : %s",ctime(&t));
}
Neuron
Mit dieser Funktion können Sie die aktuelle Ortszeit abrufen. wenn du gmt willst dann benutze die gmtime Funktion statt localtime. Prost