647 Stimmen

Wie erhält man die aktuelle Zeit und das Datum in C++?

Gibt es eine plattformübergreifende Möglichkeit, das aktuelle Datum und die Uhrzeit in C++ abzurufen?

3 Stimmen

Wenn Ockonal noch aktiv ist, sollte er die akzeptierte Antwort auf den C++11-Ansatz ändern. Diese Frage scheint immer noch eine Menge Ansichten zu erhalten.

2 Stimmen

3 Stimmen

@JSQuareD Selbst wenn ich mir diese Frage jetzt nach all der Zeit ansehe, finde ich den C-Ansatz besser, indem ich die tm Struktur. Gibt der C++11-Ansatz nicht einfach den Unix-Zeitstempel (Zeit seit der Epoche) aus, obwohl die Frage nach Datum und Uhrzeit lautete?

2voto

bduhbya Punkte 381

http://www.cplusplus.com/reference/ctime/strftime/

Dieser Einbau scheint eine vernünftige Auswahl an Optionen zu bieten.

1 Stimmen

Ja, sicher: time_t rawTime; time(&rawTime); struct tm *timeInfo; char buf[80]; timeInfo = localtime(&rawTime); strftime(buf, 80, "%T", timeInfo); In diesem speziellen Fall steht nur HH:MM:SS. Mein erster Beitrag, also bin ich nicht sicher, wie ich das Codeformat richtig hinbekomme. Tut mir leid, dass.

2voto

user775757 Punkte 221

El ffead-cpp bietet mehrere Hilfsklassen für verschiedene Aufgaben, eine dieser Klassen ist die Datum Klasse, die viele Funktionen von Datumsoperationen bis zur Datumsarithmetik bietet, gibt es auch eine Zeitschaltuhr Klasse, die für Zeitmessungsvorgänge vorgesehen ist. Sie können einen Blick auf diese Klasse werfen.

1voto

Andreas DM Punkte 10204

Sie können Boost und Chrono Library verwenden:

#include <iostream>
#include <chrono>
#include <boost/date_time/posix_time/posix_time.hpp>

using boost::posix_time::to_iso_extended_string;
using boost::posix_time::from_time_t;
using std::chrono::system_clock;

int main()
{
  auto now = system_clock::now();
  std::cout << to_iso_extended_string(from_time_t(system_clock::to_time_t(now)));
}

1voto

r3t40 Punkte 479
#include <iostream>
#include <chrono>
#include <string>
#pragma warning(disable: 4996)
// Ver: C++ 17 
// IDE: Visual Studio
int main() {
    using namespace std; 
    using namespace chrono;
    time_point tp = system_clock::now();
    time_t tt = system_clock::to_time_t(tp);
    cout << "Current time: " << ctime(&tt) << endl;
    return 0;
}

0voto

user3414278 Punkte 29
#include <Windows.h>

void main()
{
     //Following is a structure to store date / time

SYSTEMTIME SystemTime, LocalTime;

    //To get the local time

int loctime = GetLocalTime(&LocalTime);

    //To get the system time

int systime = GetSystemTime(&SystemTime)

}

7 Stimmen

In der Frage wird nach einer plattformübergreifenden Lösung gefragt. Windows.h ist Windows-spezifisch, und void main ist nicht einmal Standard C/C++.

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