Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

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

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
1time_t time(time_t*) – Aktuelle Kalenderzeit in Sekunden seit 1.1.1970 (Unix Epoch)
2char* ctime(const time_t*) – String: „Wochentag Mon Tag HH:MM:SS Jahr\n\0“
3tm* localtime(const time_t*) – Pointer auf tm für Ortszeit
4clock_t clock(void) – CPU-Zeit des Programms (ca.)
5char* asctime(const tm*) – Formatierter String aus tm-Struktur
6tm* gmtime(const time_t*) – tm in UTC (GMT)
7time_t mktime(tm*) – Kalenderzeit aus tm-Struktur
8double difftime(time_t, time_t) – Differenz in Sekunden
9size_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

  1. Spannung und Strom in reaktiven Gleichstromkreisen berechnen
  2. C++-Variablen, Literale und Konstanten meistern: Ein umfassender Leitfaden
  3. C++ Klassen & Objekte: Praktischer Leitfaden zur objektorientierten Programmierung
  4. C++ Speicherverwaltung meistern: Experten-Einsatz von new und delete
  5. C++ Vererbung: Public, Protected & Private erklärt
  6. C++ Friend-Funktionen und Friend-Klassen: Zugriffskontrolle meistern
  7. Aktuelles Datum und Uhrzeit in Python abrufen: Praktischer Leitfaden
  8. C++ Structures vs. Classes: Praktischer Leitfaden für Embedded-Entwickler
  9. C++ Overloading: Funktionen & Operatoren erklärt
  10. C++ Datei-I/O: Lesen & Schreiben mit fstream