[C++] Jak sprawdzić ile dni pozostało do danej daty?

Policzenie ile dni pozostało do danej daty może być przydatne w wielu przypadkach. Na przykład, może to być potrzebne do obliczenia czasu pozostałego do ważnego wydarzenia, terminu lub innej istotnej daty. W języku C++ istnieje wiele sposobów, aby to osiągnąć. W tym artykule przedstawię jeden z najprostszych.

Biblioteka chrono

Biblioteka chrono jest częścią standardowej biblioteki języka C++ i zawiera narzędzia do obsługi czasu i dat. Pozwala na precyzyjne mierzenie czasu, operacje na datach i czasach, a także wykonywanie różnych operacji matematycznych na czasie. Biblioteka ta jest wygodnym narzędziem do zarządzania czasem w aplikacjach C++. Poniższy przykład oblicza ile dni pozostało do danej daty z użyciem właśnie biblioteki chrono.

#include <iostream>
#include <chrono>
#include <ctime>

int main() {

    auto now = std::chrono::system_clock::now();
    std::chrono::system_clock::time_point target;

    std::tm target_time = {};
    target_time.tm_year = 2023 - 1900;
    target_time.tm_mon = 9;
    target_time.tm_mday = 5;

    target = std::chrono::system_clock::from_time_t(std::mktime(&target_time));

    auto diff = target - now;
    auto days = std::chrono::duration_cast<std::chrono::hours>(diff).count() / 24;

    std::cout << "do " << target_time.tm_mday << "-" << target_time.tm_mon << "-" << target_time.tm_year + 1900 << " pozostało " << days << " dni." << std::endl;

    return 0;
    
}

Komentarze

Popular

[C++] Jak obliczyć pole i obwód trapezu?

[HTML] Jak wyśrodkować tekst?

[PHP] Jak pobrać adres strony?