Calcolare data e ora corrente in C++
Vediamo oggi una piccola funzione per calcolare data e ora corrente in C++.
Per farlo ci bastano poche righe di codice e la libreria ctime.
Da questa libreria prenderemo:
- la funzione time(), che ritorna un oggetto di tipo time_t e in pratica legge l'ora corrente come numero di secondi trascorsi dal 1° Gennaio 1970
- la funzione asctime(), che converte l'orario in stringa
- la funzione localtime(), che contiente l'ora corrente suddivisa in diverse parti (giorni, ore, ecc)
- la funzione strftime(), per formattare l'output
Quindi la nostra funzione sarà qualcosa del genere:
#include <iostream>
#include <ctime>using namespace std;
int main() {
time_t currentTime;
time(¤tTime);
cout << asctime(localtime(¤tTime)) << endl;
return 0;
}
Creiamo una variabile di tipo time_t.
Poi con la funzione time() leggiamo l'ora corrente e la salviamo nella varibile currentTime.
Poi stampiamo l'output usando asctime() per trasformare in stringa l'ora corrente che ci viene restituita dal localtime().
L'ouput sarà una tipo questo:
Wed Dec 12 12:59:09 2012
Non molto ben formattato a dire il vero.