C++ Datum & Zeit: Umfassender Leitfaden
Die C++-Standardbibliothek stellt keinen eigenen Datentyp für Datum bereit. C++ erbt Structs und Funktionen zur Datums-/Zeitmanipulation aus C. Header <ctime> einbinden.
Zeitbezogene Typen
clock_t,time_t,size_t– Systemzeit/Datum als Integertm– Struktur mit Datum/Zeit-Komponenten
Struktur tm
struct tm {
int tm_sec; // Sekunden (0-61)
int tm_min; // Minuten (0-59)
int tm_hour; // Stunden (0-23)
int tm_mday; // Tag des Monats (1-31)
int tm_mon; // Monat (0-11, 0=Januar)
int tm_year; // Jahre seit 1900
int tm_wday; // Tage seit Sonntag
int tm_yday; // Tage seit 1. Januar
int tm_isdst; // Sommerzeit-Flag
};
Wichtige Funktionen (<ctime>)
| Nr. | Funktion & Zweck |
|---|---|
| 1 | time_t time(time_t*) – Aktuelle Kalenderzeit in Sekunden seit 1.1.1970 (Unix Epoch) |
| 2 | char* ctime(const time_t*) – String: „Wochentag Mon Tag HH:MM:SS Jahr\n\0“ |
| 3 | tm* localtime(const time_t*) – Pointer auf tm für Ortszeit |
| 4 | clock_t clock(void) – CPU-Zeit des Programms (ca.) |
| 5 | char* asctime(const tm*) – Formatierter String aus tm-Struktur |
| 6 | tm* gmtime(const time_t*) – tm in UTC (GMT) |
| 7 | time_t mktime(tm*) – Kalenderzeit aus tm-Struktur |
| 8 | double difftime(time_t, time_t) – Differenz in Sekunden |
| 9 | size_t strftime() – Formatierung von Datum/Zeit |
Aktuelles Datum & Uhrzeit
#include <iostream>
#include <ctime>
using namespace std;
int main() {
time_t now = time(0);
char* dt = ctime(&now);
cout << "Lokale Zeit: " << dt << endl;
tm* gmtm = gmtime(&now);
dt = asctime(gmtm);
cout << "UTC Zeit: " << dt << endl;
return 0;
}
Beispielausgabe:
Lokale Zeit: Sat Jan 8 20:07:41 2011
UTC Zeit: Sun Jan 9 03:07:41 2011
Formatierung mit struct tm
#include <iostream>
#include <ctime>
using namespace std;
int main() {
time_t now = time(0);
cout << "Sekunden seit 1.1.1970: " << now << endl;
tm* ltm = localtime(&now);
cout << "Jahr: " << 1900 + ltm->tm_year << endl;
cout << "Monat: " << 1 + ltm->tm_mon << endl;
cout << "Tag: " << ltm->tm_mday << endl;
cout << "Zeit: " << ltm->tm_hour << ":"
<< ltm->tm_min << ":" << ltm->tm_sec << endl;
return 0;
}
Beispielausgabe:
Sekunden seit 1.1.1970: 1588485717
Jahr: 2020
Monat: 5
Tag: 3
Zeit: 11:31:57
Hinweis: Pfeiloperator -> für Zugriff auf Struct-Member via Pointer.
C Sprache
- Spannung und Strom in reaktiven Gleichstromkreisen berechnen
- C++-Variablen, Literale und Konstanten meistern: Ein umfassender Leitfaden
- C++ Klassen & Objekte: Praktischer Leitfaden zur objektorientierten Programmierung
- C++ Speicherverwaltung meistern: Experten-Einsatz von new und delete
- C++ Vererbung: Public, Protected & Private erklärt
- C++ Friend-Funktionen und Friend-Klassen: Zugriffskontrolle meistern
- Aktuelles Datum und Uhrzeit in Python abrufen: Praktischer Leitfaden
- C++ Structures vs. Classes: Praktischer Leitfaden für Embedded-Entwickler
- C++ Overloading: Funktionen & Operatoren erklärt
- C++ Datei-I/O: Lesen & Schreiben mit fstream