Come convertire i secondi dal periodo di tempo in C ++

June 5

Come convertire i secondi dal periodo di tempo in C ++


La funzione "Time" in UNIX, C e C ++ restituisce il numero di secondi dalla mezzanotte del primo di Janurary 1970 Greenwich. Questo è noto come tempo di un'epoca. Quando i programmatori hanno suggerito che questo non era sempre conveniente, progettisti sovraccaricati la funzione di tempo in modo che possa essere utilizzato in due modi: per dare tempo all'epoca e per dare il tempo come una stringa di caratteri che rappresenta gli anni, giorni, ore, minuti e secondi dal il primo gennaio 1970 TMG. Da allora, una libreria di funzioni è stato creato, che contiene le funzioni che trasformano questa stringa in qualcosa di più utile.

istruzione

1 Includere la libreria time.h nel programma con il "# include <time.h>;" istruzioni. Definire un paio di variabili di tipo time_t con l'istruzione "tempo1 time_t, tempo2," per tenere le due versioni della stringa tempo che verrà sviluppato durante la conversione. Chiamare la funzione momento come questo: "il tempo (e time1)," per mettere la stringa desiderata nel tempo1 variabile.

2 Covert le informazioni nella stringa tempo1 in ora locale con la funzione "localtime" che prende l'indirizzo di tempo1 come parametro di input e mette i risultati nel tempo2 variabile. La dichiarazione si presenta così: "tempo2 = localtime (e time1);" - tempo2 ora contiene l'ora locale, ma non è del tutto nel formato per la stampa.

3 Trasforma il tempo nella sua forma stampabile finale con la funzione asctime. Questa trasformazione può essere fatto proprio nel comunicato stampa. L'istruzione print si presenta così: "printf (" L'ora corrente è% s ", asctime (time2))," che stamperà o meno così: "L'ora corrente è Ven 23 Set 22:01:47 2011."

Consigli e avvertenze

  • La destinazione d'uso per la funzione "tempo" è quello di misurare il tempo trascorso. Quando viene utilizzato in questa forma originale il parametro di input è NULL e un valore viene restituito. La variabile che il valore di ritorno viene assegnato deve essere di tipo time_t. Quindi, il codice per misurare quanto tempo ci vuole per eseguire procedure XYZ sarebbe simile a questa: "# include <time.h>; t1 time_t, t2; t1 = tempo (NULL); XYZ; t2 = tempo (NULL); printf "Il tempo necessario per eseguire procedura di XYZ è% d secondi", t2 - t1); "che stamperà qualcosa come" Il tempo necessario per eseguire procedura di XYZ è di 147 secondi ".
  • Il tipo di time_t e il tempo di funzioni (), localtime () e asctime () sono tutti definiti nella libreria time.h. Se non si include la libreria time.h, tutti questi sarà contrassegnato come non definito.