Sintassi
int getTimeofDay (struct timeval *tp, struct timezone *tz)IL getTimeofDay () La funzione è definita in sys/time.H File di intestazione.
argomenti
Questa funzione prende due argomenti:
Il 1st L'argomento indica il Timeval struttura. IL Timeval La struttura è dichiarata come sotto in sys/time.H File di intestazione:
struct timevalLa struttura del timeval struct rappresenta un tempo di calendario. Ha due membri:
Il 2nd L'argomento indica il fuso orario struttura. Dovrebbe normalmente essere impostato su NULL perché Strutture Timezone è obsoleto. Questo argomento è solo per la compatibilità all'indietro.
Valori di ritorno
Sul successo, il getTimeofDay () restituire 0, per errore la funzione restituisce -1.
Semplice Ottieni tempo e stampa
#includereProduzione:
Qui, sys/time.H è stato incluso per getTimeofDay () funzione di funzione e timeval. IL getTimeofDay () funzione Imposta il tempo in Timeval (current_time) membro della struttura. TV_SEC è il numero integrale di secondi trascorsi dall'inizio del Epoca unix, a mezzanotte UTC il 1 ° gennaio 1970 e TV_USEC è un numero aggiuntivo di microsecondi trascorsi da TV_SEC. Se esegui il programma, dovresti vedere l'output. Ogni volta che si esegue il programma, l'output cambierà.
Errore argomento nullo
#includereProduzione:
In questo esempio mostra quel primo argomento del getTimeofDay () La funzione non dovrebbe essere null. L'avviso di compilazione arriverà se il primo argomento è nullo.
Formattazione del tempo corrente Esempio
#includereProduzione:
In questo esempio mostra come stampare la data e l'ora in formato diverso. Non è molto facile rappresentare le date dal valore di ritorno di getTimeofDay () funzione . Qui, ora locale() E strftime () Le funzioni sono usate per rappresentare bene il valore di ritorno di getTimeofDay ().
IL ora locale() La funzione prende un argomento, che è un riferimento a un puntatore del TV_SEC campo di struct timeval e restituisce un riferimento a un puntatore di a struct tm oggetto.
IL strftime () La funzione genererà una stringa personalizzata e formattata che mostra la data e l'ora dal struct tm Pointer. Gli specificatori di formato vengono utilizzati per la visualizzazione formattata. Ad esempio, la stringa di formato "%d-%m-%y%h:%m:%s" specifica la data e l'ora in questo modulo:
14-04-2020 13:09:42Di seguito sono riportati gli specificatori di conversione, possono essere utilizzati per la visualizzazione formattata:
Specificatore | Senso |
%UN | Il nome abbreviato del giorno della settimana secondo l'attuale locale. |
%UN | Il nome del giorno della settimana secondo il luogo attuale. |
%B | Nome del mese abbreviato secondo l'attuale locale. |
%B | Nome del mese intero secondo il locale presente. |
%C | La rappresentazione preferita della data e dell'ora per l'attuale locale. |
%D | Come numero decimale per il giorno del mese (intervallo 01 - 31). |
%H | Utilizzando 24 ore (intervallo 00 - 23) all'ora come numero decimale. |
%IO | Utilizzando 12 ore (intervallo 00 - 23) all'ora come numero decimale. |
%J | Come numero decimale per il giorno dell'anno (intervallo 001-366). |
%M | Come numero decimale per il mese (intervallo 01 - 12). |
%M | Il numero decimale del minuto. |
%P | Sulla base del valore temporale specificato, 'Am' o 'PM' o le stringhe equivalenti per la localizzazione corrente. |
%S | Il numero decimale del secondo. |
%X | Rappresentazione preferita della data per il locale corrente, ma senza tempo. |
%X | Rappresentazione preferita del tempo per il locale corrente, ma senza data. |
%y | L'anno è decimale ma nessun secolo (vanno da 00-99). |
%Y | L'anno è decimale incluso il secolo. |
%Z | Il fuso orario. |
Utilizzo di GetTimeofDay per misurare il tempo di esecuzione del programma
#includereProduzione:
Questo esempio mostra che come getTimeofDay () La funzione può essere utilizzata per il calcolo del tempo di esecuzione di un programma.
Conclusione
In questo modo, il getTimeofDay () La funzione potrebbe essere utilizzata in Linux. Per il porting del codice esistente, il getTimeofDay () la funzione può essere utilizzata ma nel nuovo codice non dovrebbe essere utilizzata. clock_gettime () la funzione può essere usata al posto di getTimeofDay ().