strftim

Mattepuffo's logo
Calcolare data e ora corrente in C++

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(&currentTime);
    cout << asctime(localtime(&currentTime)) << 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.