C++:
Få det aktuella datumet
Hur man gör:
C++ erbjuder flera sätt att få det aktuella datumet, inklusive C++-standardbiblioteket och tredjepartsbibliotek som Boost. Följande exempel visar hur man utför denna uppgift.
Använda <chrono>
(C++20 och senare)
C++20 introducerade fler funktioner i <chrono>
-biblioteket, vilket gör det enkelt att få det aktuella datumet:
#include <iostream>
#include <chrono>
#include <format> // För std::format (C++20)
int main() {
auto nuvarande_tidpunkt = std::chrono::system_clock::now(); // Fånga den aktuella tiden
auto nuvarande_time_t = std::chrono::system_clock::to_time_t(nuvarande_tidpunkt); // Konvertera till time_t
// Formatera tiden till ett läsbart format
std::cout << "Aktuellt datum: " << std::format("{:%Y-%m-%d}", std::chrono::system_clock::to_time_t(nuvarande_tidpunkt)) << std::endl;
return 0;
}
Exempel på utdata:
Aktuellt datum: 2023-03-15
Använda <ctime>
För programmerare som arbetar med äldre versioner av C++ eller de som föredrar det traditionella C-biblioteket:
#include <iostream>
#include <ctime>
int main() {
std::time_t t = std::time(0); // Få aktuell tid
std::tm* nu = std::localtime(&t);
std::cout << "Aktuellt datum: "
<< (nu->tm_year + 1900) << '-'
<< (nu->tm_mon + 1) << '-'
<< nu->tm_mday
<< std::endl;
return 0;
}
Exempel på utdata:
Aktuellt datum: 2023-03-15
Använda Boost Date_Time
För projekt som använder Boost-biblioteken erbjuder Boost Date_Time-biblioteket en alternativ metod för att få det aktuella datumet:
#include <iostream>
#include <boost/date_time.hpp>
int main() {
// Få den aktuella dagen med Boosts gregorianska kalender
boost::gregorian::date idag = boost::gregorian::day_clock::local_day();
std::cout << "Aktuellt datum: " << idag << std::endl;
return 0;
}
Exempel på utdata:
Aktuellt datum: 2023-Mar-15
Dessa exempel tillhandahåller en grundläggande grund för att arbeta med datum i C++, avgörande för ett brett spektrum av applikationer.