Frage

Gibt es eine einfache „Anfänger“ Art und Weise die aktuelle Zeit mit <ctime> zu einem Date-Objekt zu nehmen, die

haben
int month
int day
int year

für die es Membervariablen? Danke.

War es hilfreich?

Lösung

time_t tt = time(NULL); // get current time as time_t
struct tm* t = localtime(&tt) // convert t_time to a struct tm
cout << "Month "  << t->tm_mon 
     << ", Day "  << t->tm_mday
     << ", Year " << t->tm_year
     << endl

Die tm struct Ints sind alle 0-basiert (0 = Jan, 1 = Feb) und Sie können verschiedene Tages Maßnahmen, Tag im Monat (tm_mday), Woche (tm_wday) und Jahr (tm_yday) erhalten.

Andere Tipps

Wenn es localtime_r dann sollten Sie localtime_r , anstatt Localtime, da dies die Reentry-Version von Localtime.

#include <ctime>
#include <iostream>

int main()
{
    time_t tt = time(NULL); // get current time as time_t
    tm  tm_buf;
    tm* t = localtime_r(&tt, &tm_buf); // convert t_time to a struct tm

    std::cout << "Month "  << t->tm_mon
              << ", Day "  << t->tm_mday
              << ", Year " << t->tm_year
              << std::endl;
    return 0;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top