Obtenir la date actuelle

C++:
Obtenir la date actuelle

Comment faire :

C++ propose plusieurs moyens d’obtenir la date actuelle, y compris la bibliothèque standard C++ et des bibliothèques tierces comme Boost. Les exemples suivants démontrent comment accomplir cette tâche.

En utilisant <chrono> (C++20 et ultérieur)

C++20 a introduit plus de fonctionnalités dans la bibliothèque <chrono>, ce qui simplifie l’obtention de la date actuelle :

#include <iostream>
#include <chrono>
#include <format> // Pour std::format (C++20)

int main() {
    auto current_time_point = std::chrono::system_clock::now(); // Capture le moment actuel
    auto current_time_t = std::chrono::system_clock::to_time_t(current_time_point); // Convertir en time_t

    // Formater l'heure dans un format lisible
    std::cout << "Date Actuelle : " << std::format("{:%Y-%m-%d}", std::chrono::system_clock::to_time_t(current_time_point)) << std::endl;

    return 0;
}

Sortie d’exemple :

Date Actuelle : 2023-03-15

En utilisant <ctime>

Pour les programmeurs travaillant avec des versions antérieures de C++ ou ceux qui préfèrent la bibliothèque C traditionnelle :

#include <iostream>
#include <ctime>

int main() {
    std::time_t t = std::time(0); // Obtenir l'heure actuelle
    std::tm* now = std::localtime(&t);
    std::cout << "Date Actuelle : " 
              << (now->tm_year + 1900) << '-' 
              << (now->tm_mon + 1) << '-'
              <<  now->tm_mday
              << std::endl;

    return 0;
}

Sortie d’exemple :

Date Actuelle : 2023-03-15

En utilisant Boost Date_Time

Pour les projets qui utilisent les bibliothèques Boost, la bibliothèque Boost Date_Time offre une méthode alternative pour obtenir la date actuelle :

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

int main() {
    // Obtenir le jour actuel en utilisant le calendrier grégorien de Boost
    boost::gregorian::date today = boost::gregorian::day_clock::local_day();
    std::cout << "Date Actuelle : " << today << std::endl;

    return 0;
}

Sortie d’exemple :

Date Actuelle : 2023-Mar-15

Ces exemples offrent une base essentielle pour travailler avec des dates en C++, cruciale pour une large gamme d’applications.