C++:
Ottenere la data corrente
Come fare:
C++ offre diversi modi per ottenere la data corrente, inclusa la libreria standard di C++ e librerie di terze parti come Boost. Gli esempi seguenti dimostrano come realizzare questo compito.
Utilizzando <chrono>
(C++20 e successivi)
C++20 ha introdotto maggiori funzionalità nella libreria <chrono>
, rendendo semplice ottenere la data corrente:
#include <iostream>
#include <chrono>
#include <format> // Per std::format (C++20)
int main() {
auto current_time_point = std::chrono::system_clock::now(); // Cattura il tempo corrente
auto current_time_t = std::chrono::system_clock::to_time_t(current_time_point); // Converti in time_t
// Formatta il tempo in un formato leggibile
std::cout << "Data Corrente: " << std::format("{:%Y-%m-%d}", std::chrono::system_clock::to_time_t(current_time_point)) << std::endl;
return 0;
}
Output di Esempio:
Data Corrente: 2023-03-15
Utilizzando <ctime>
Per i programmatori che lavorano con versioni precedenti di C++ o per coloro che preferiscono la libreria C tradizionale:
#include <iostream>
#include <ctime>
int main() {
std::time_t t = std::time(0); // Ottieni il tempo corrente
std::tm* now = std::localtime(&t);
std::cout << "Data Corrente: "
<< (now->tm_year + 1900) << '-'
<< (now->tm_mon + 1) << '-'
<< now->tm_mday
<< std::endl;
return 0;
}
Output di Esempio:
Data Corrente: 2023-03-15
Utilizzando Boost Date_Time
Per i progetti che utilizzano le librerie Boost, la libreria Boost Date_Time offre un metodo alternativo per ottenere la data corrente:
#include <iostream>
#include <boost/date_time.hpp>
int main() {
// Ottieni il giorno corrente usando il calendario gregoriano di Boost
boost::gregorian::date today = boost::gregorian::day_clock::local_day();
std::cout << "Data Corrente: " << today << std::endl;
return 0;
}
Output di Esempio:
Data Corrente: 2023-Mar-15
Questi esempi forniscono una base fondamentale per lavorare con le date in C++, cruciale per una vasta gamma di applicazioni.