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.