I dette Linux hint Artikkel, vi vil vise deg hvordan du bruker DIFFTIME () -funksjonen for å bestemme forskjellen mellom to UNIX -tider. Vi vil diskutere syntaks for denne funksjonen, inngangs- og utgangsargumentene og datatypene som brukes i hvert tilfelle. Deretter bruker vi funksjonen med noen praktiske eksempler inkludert kodebiter i bilder.
DiffTime () -funksjon
DiffTime () Funksjonssyntaks på C -språk
dobbelt DIF = diff time (time_t t_2, time_t t_1);Beskrivelse av difftiden () -funksjonen på C -språk
De DiffTime () Funksjon beregner tidsforskjellen i sekunder mellom T_1 og T_2 og returnerer resultatet i Diff.
Time_T -variabelen er en del av "Time" -biblioteket og er definert i overskriften. Både TIME_T, clock_t og tm er typedef som brukes av funksjoner i dette biblioteket for å returnere resultatene.
De DiffTime () Funksjon brukes vanligvis til å beregne forskjellen mellom en gitt tid og den nåværende UNIX -tiden. Deretter bruker vi divisjonsmatematikken for å finne forskjellen på dager, timer, minutter osv.
De DiffTime () er definert i “tiden.h ”header. Før denne funksjonen må vi inkludere den i ".C ”eller“.H ”-filen som følger:
#inkludereNår vi inkluderer “tiden.H ”header, vi kan bruke DiffTime (), tid (), og alle funksjoner som er definert i “Tid.h ”.
Hvordan beregne tidsforskjellen mellom to tidsstempler ved bruk av diff -time () -funksjonen på C -språket
I dette eksemplet beregner vi antall sekunder som gikk siden 1. januar 2000 kl. 00:00 til denne koden er utført på datamaskinen din.
Det første trinnet er å inkludere bibliotekene som vi bruker og definerer T_1 og T_2 Variabler av TIME_T -type og dobbelt Diff Som vist i følgende:
#inkludereUnix Time er sekundene som er gått siden 00:00:00 UTC 1. januar 1970. For datoen og klokkeslettet som er 1. januar 2000 kl. 00:00:00, er denne telleren på 946.695.600 sekunder. Dette er verdien av T_2 variabel.
Den nåværende UNIX -tiden bestemmes ved bruk av tid () -funksjonen. Denne funksjonen returnerer gjeldende tid i en variabel av TIME_T -type. I dette tilfellet er det det T_1 som vi definerte tidligere.
I det følgende fragmentet tildeler vi UNIX -tiden som tilsvarer 1. januar 2000 på tidspunktet 00:00:00 til T_1. Vi får den nåværende UNIX -tiden i T_2 ved hjelp av tid () -funksjonen og viser resultatet i kommandokonsollen ved hjelp av printf () -funksjonen.
#inkludereFølgende bilde viser utførelsen av dette fragmentet og antall UNIX -sekunder på T_1:
Etter at vi har fått gjeldende tid i T_2 variabel, vi har allerede de to dataene vi trenger for inngangsargumentene til DiffTime () funksjon.
Neste trinn er å finne tidsforskjellen mellom disse to dataene. For å gjøre dette, kaller vi DiffTime () funksjon med T_1 og T_2 som inngangsargumenter og dobbelt DIFf Som utgangsargument.
Følgende utdrag viser hele koden som kaller denne funksjonen og viser forskjellen mellom T_1 og T_2 I kommandokonsollen:
#inkludereFølgende bilde viser utdataene fra DiffTime (), sekundersforskjellen mellom 00:00:00 UTC 1. januar 1970, og tiden som denne koden blir utført på kommandolinjen:
Hvordan konvertere UNIX -sekundene til DateTime -format på C -språket
CTIME () -funksjonen godtar variablene til TIME_T -skriv inn inngangsargumentene og returnerer en streng med UNIX -tiden som konverteres til DateTime -format.
Deretter bruker vi koden fra forrige eksempel og CTIME () og printf () -funksjonene for å vise tidene for T_1 og T_2 som blir konvertert til datetime.
#inkludereFølgende bilde viser dato- og klokkeslettformat på T_1 og T_2:
Konklusjon
I dette Linux hint Artikkel, vi forklarte trinn-for-trinn-prosessen om hvordan du bruker DiffTime () For å finne forskjellen mellom to UNIX -tider. Vi forklarte også kort noen av tilleggsfunksjonene til "Time" -biblioteket som er nødvendige for å få disse dataene og konvertere dem til dags dato og tidsformat. Vi håper at du fant denne artikkelen nyttig. For flere tips på C -språket, bruk søkemotoren på nettstedet vårt.