C++:
Jämföra två datum
How to:
Använd std::chrono
biblioteket för att hantera datum och jämför dem med enkelhet:
#include <iostream>
#include <chrono>
#include <ctime>
int main() {
using namespace std::chrono;
system_clock::time_point today = system_clock::now();
system_clock::time_point tomorrow = today + hours(24);
if (today < tomorrow) {
std::cout << "Today is before tomorrow.\n";
} else {
std::cout << "Today is not before tomorrow.\n";
}
return 0;
}
Exempelutskrift:
Today is before tomorrow.
Deep Dive:
I de tidiga dagarna av C++, jämförde vi datum med time_t
och tm
strukturer. Med std::chrono
introducerat i C++11 och förbättrat i senare versioner, blev datum- och tidshantering mer intuitivt och typsäkert.
Alternativ för datumjämförelse inkluderar tredjepartsbibliotek som Boost.Date_Time. Men std::chrono
räker ofta till och har fördelen att vara inbyggt och standardiserat.
Detaljerna i implementering är att vi använder tidsklockor som system_clock
för att få nuvarande tidsinstans, och därmed skapar tidsobjekt. Genom att använda en “time_point” kan vi sedan använda jämförelseoperatorer för att se hur dessa punkter relaterar till varandra.
See Also:
Läs vidare i officiella dokumentationen:
Utforska alternativa bibliotek:
Förstå fler exempel och användningsfall: