2 Stimmen

Parsen der Ortszeit in C++

Gibt es eine einfache Methode für Anfänger, die aktuelle Zeit mit Hilfe von <ctime> auf ein Date-Objekt, das die

int month
int day
int year

für seine Mitgliedsvariablen? Danke.

4voto

Robert Christie Punkte 19309
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

El tm struct ints sind alle 0-basiert (0 = Jan, 1 = Feb) und man kann verschiedene Tagesmaße erhalten, Tag im Monat ( tm_mday ), Woche ( tm_wday ) und Jahr( tm_yday ).

2voto

Wenn es localtime_r gibt, sollten Sie ortszeit_r und nicht localtime, da dies die ablaufinvariante Version von localtime ist.

#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;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X