Come usare data e ora in un programma C ++

February 16

Date e orari sono uso frequente nei programmi C ++. i programmi di Windows utilizzano diversi formati di tempo: tempo di sistema, ora locale, il tempo di file, il tempo di Windows e il tempo di MS-DOS. Il Run Time Library of C ++ offre diversi strumenti per estrarre e manipolare formati di tempo facilmente. Essi sono definiti nel file di intestazione time.h. Questa esercitazione dimostra l'uso di alcuni formati e strumenti.

istruzione

1 Estrarre la data e l'ora correnti utilizzando _strdate e _strtime. Questo è il più semplice e una delle operazioni di data e ora più utilizzate in C ++:

includere <iostream.h>
includere <time.h>

void main () {

sDate char [9];

STIME char [9];

_strdate (sDate);

_strtime (STIME);

cout << "tempo:" << STIME << "Data:" << sDate << endl;

}

2 Capire il tempo del sistema, cercando in campi della struct _SYSTEMTIME. Si noti l'uso della parola chiave typedef per definire il struct come tipo 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 Visualizzazione del tempo universale e data utilizzando il tipo di SYSTEMTIME e la funzione GetSystemTime:

includere <iostream.h>
includere <Windows.h>

using namespace std;

int main () {

SYSTEMTIME * p_st = new SYSTEMTIME;

GetSystemTime (p_st);

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

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

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

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

cout << "Minutes:" << p_st-> wMinute << endl;

cout << "secondi:" << p_st-> wSeconds << endl;

cout << "millisecondi:" << p_st-> wMilliseconds << endl;

}

4 Utilizzare la funzione FileTimeToSystemTime di esprimere al momento in cui il numero di nanosecondi trascorsi dal 1 gennaio 1601. La funzione scrive il risultato di un tipo FILETIME e lo converte in un tipo SYSTEMTIME leggibile. Si noti che questa funzione accetta entrambi i tipi come puntatori:

BOOL WINAPI FileTimeToSystemTime (

in const FILETIME * PFT,

out SYSTEMTIME * pST

);