Conversion d'une date en chaîne de caractères

C++:
Conversion d'une date en chaîne de caractères

How To (Comment faire ?)

#include <iostream>
#include <iomanip>
#include <sstream>
#include <ctime>

int main() {
    std::time_t t = std::time(nullptr);
    std::tm* tm_ptr = std::localtime(&t);

    std::stringstream ss;
    ss << std::put_time(tm_ptr, "%Y-%m-%d %H:%M:%S");
    std::string date_str = ss.str();

    std::cout << date_str << std::endl; // Output: 2023-04-05 14:55:03 (par exemple)
    return 0;
}

Deep Dive (Plongée en profondeur)

Avant C++11, le traitement des dates et des chaînes était moins standardisé. Avec <ctime>, on a une interface héritée du C. Les alternatives comme boost::date_time ou les librairies tierces ajoutaient de la flexibilité.

En C++20, la bibliothèque <chrono> introduit des outils plus robustes pour la gestion du temps. Cette standardisation facilite les conversions et les manipulations.

Concernant l’implémentation, std::put_time(std::tm*, const char*) formate le temps selon l’argument de formatage, où %Y-%m-%d %H:%M:%S représente la date et l’heure standards.

See Also (Voir également)