Wie Konvertieren von Sekunden seit Epoche in Zeit in C++

September 18

Wie Konvertieren von Sekunden seit Epoche in Zeit in C++

Die "Zeit"-Funktion, die in UNIX, C und C++ die Anzahl der gibt Sekunden seit Mitternacht der Erstens Kürze 1970, Greenwich Mean Time. Dies wird als Epoche Zeit bezeichnet. Als Programmierer vorschlug, dies nicht immer bequem war, Designer die Zeitfunktion überlastet, daher auf zwei Arten verwendet werden könnte: Epoche Zeit geben und die Zeit als Zeichenfolge zu geben, die Jahre, Tage, Stunden, Minuten und Sekunden seit 1. Januar 1970 GMT dargestellt. Seither wurde eine Bibliothek von Funktionen erstellt, die Funktionen enthält, die diese Zeichenfolge in etwas nützlicher zu konvertieren.

Anweisungen

1 Schließen Sie die Bibliothek time.h in Ihr Programm mit der "#include < time.h >;" Unterricht. Ein paar Variablen vom Typ Time_t mit der Anweisung "Time_t time1, time2;" zu definieren, die beiden Versionen der Zeitzeichenfolge enthalten, die während der Konvertierung entwickelt werden. Rufen Sie die Time-Funktion wie folgt: "Zeit (& time1);" setzen Sie die gewünschte Zeichenfolge in die Variable time1.

2 Die Informationen in der Zeichenfolge time1 auf lokale Zeit mit der "Localtime"-Funktion, die die Adresse von time1 als Eingabeparameter und setzt die Ergebnisse in die Variable time2, verdeckt. Die Anweisung sieht folgendermaßen aus: "S2 = Localtime (& time1);" — time2 enthält jetzt die lokale Zeit, aber es ist nicht ganz in das Format zu drucken.

3 Verwandeln Sie die Zeit in seine endgültige, druckbare Form mit der Asctime-Funktion. Diese Transformation geht direkt in die print-Anweisung. Die print-Anweisung sieht folgendermaßen aus: "Printf ("die aktuelle Zeit ist %s", asctime(time2));" die druckt etwa folgendermaßen: "derzeit ist Fr Sep 23 22:01:47 2011."

Tipps & Warnungen

  • Die vorgesehene Verwendung für die "Zeit"-Funktion ist es, die verstrichene Zeit zu messen. Der input-Parameter ist NULL, wenn in dieser ursprünglichen Form verwendet und ein Wert zurückgegeben. Die Variable, der der Rückgabewert zugewiesen ist, muss Time_t Typ sein. Damit der Code zu messen, wie lange es dauert, XYZ-Prozedur auszuführen wie folgt aussehen würde: "#include < time.h >; Time_t t1, t2; T1 = time(NULL); XYZ; T2 = time(NULL); Printf "Die Zeit, die es braucht, um die Prozedur auszuführen XYZ ist %d Sekunden", t2-t1); "druckt die so etwas wie"Die Zeit, die es braucht, um die Prozedur auszuführen XYZ 147 Sekunden ist."
  • Der Typ Time_t Funktionen time(), localtime() und der asctime() sind alle in der Bibliothek time.h definiert. Wenn Sie die Bibliothek time.h nicht einschließen, werden all diese gekennzeichnet als nicht definiert.