Hvordan bruke Dato og klokkeslett i en C ++ Program

Datoer og klokkeslett har hyppig bruk i C ++ programmer. Windows-programmer bruker flere forskjellige tidsformater: System tid, lokal tid, fil tid, Windows tid og MS-DOS tid. The Run Time Library of C ++ tilbyr ulike verktøy for å trekke ut og manipulere tid formater enkelt. De er definert i time.h header fil. Denne opplæringen viser bruken av enkelte formater og verktøy.

Bruksanvisning

1 Pakk den gjeldende dato og klokkeslett ved hjelp _strdate og _strtime. Dette er den enkleste og en av de mest brukte date-time virksomhet i C ++:

inkluderer <iostream.h>
inkluderer <time.h>

void main () {

røye sdate [9];

røye stime [9];

_strdate (sdate);

_strtime (stime);

cout << "tid:" << stime << "date:" << sdate << endl;

}

2 Forstå System tid ved å se på feltene i _SYSTEMTIME struct. Legg merke til bruken av typedef nøkkelord for å definere struct som type SYSTEMTIME:

typedef struct _SYSTEMTIME {

WORD wYear;<br>
WORD wMonth;<br>
WORD wDayOfWeek;<br>
WORD wDay;<br>
WORD wHour;<br>
WORD wMinute;<br>
WORD wSecond;<br>
WORD wMilliseconds;<br>
} SYSTEMTIME;</b>

3 Vis universell tid og dato ved hjelp av SYSTEMTIME type og GetSystemTime funksjon:

inkluderer <iostream.h>
inkluderer <Windows.h>

bruker namespace std;

int main () {

SYSTEMTIME * p_st = new SYSTEMTIME;

GetSystemTime (p_st);

cout << "Year:" << p_st-> wYear << endl;

cout << "Month:" << p_st-> wMonth << endl;

cout << "Day:" << p_st-> wDate << endl;

cout << "Hour:" << p_st-> wHour << endl;

domstol << "Minutter:" << p_st-> wMinute << endl;

domstol << "Seconds:" << p_st-> wSeconds << endl;

domstol << "Millisekunder:" << p_st-> wMilliseconds << endl;

}

4 Bruk funksjonen FileTimeToSystemTime å uttrykke tid som antall nanosekunder som har gått siden 1. januar 1601. Funksjonen skriver resultatet til en FILETIME type og konverterer den til en lesbar SYSTEMTIME type. Merk at denne funksjonen aksepterer begge typer som pekere:

BOOL WINAPI FileTimeToSystemTime (

i konst FILETIME * PFT,

ut SYSTEMTIME * pST

);