C++:
Sammenlikning av to datoer
How to:
#include <iostream>
#include <ctime>
int main() {
std::time_t now = std::time(nullptr);
std::tm* now_tm = std::localtime(&now);
std::tm other_date = *now_tm;
other_date.tm_mday += 7; // La oss si vi legger til 7 dager
// Sammenlign datoer
double seconds_diff = std::difftime(std::mktime(&other_date), now);
if (seconds_diff == 0) {
std::cout << "Datoene er identiske.\n";
} else if (seconds_diff > 0) {
std::cout << "Andre dato kommer etter den første.\n";
} else {
std::cout << "Andre dato er før den første.\n";
}
return 0;
}
Sample output:
Andre dato kommer etter den første.
Deep Dive
Før <chrono>
biblioteket ble introdusert med C++11, brukte C++ programmører <ctime>
. I dag tilbyr <chrono>
en moderne og type-sikker tilnærming til dato- og tidshåndtering.
Alternativer inkluderer tredjeparts biblioteker som Boost.DateTime, men C++ sitt standardbibliotek blir stadig bedre og skal dekke de fleste behov.
Å implementere dato-sammenligning manuelt kan være risikabelt grunnet komplikasjonene med skuddår, tidssoner og historiske dato-forskjeller. Det er best å bruke etablerte biblioteker som ordner disse detaljene for deg.