Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
52
Добавлен:
01.03.2016
Размер:
134.46 Кб
Скачать

РАБОТА С ДАТОЙ И ВРЕМЕНЕМ

В библиотеке time.h

1. объявлена следующая структура:

struct tm {

 

int tm_sec;

//секунды [0,59]

int tm_min;

//минуты [0,59]

int tm hour;

//часы [0,23]

int tm_mday;

//число месяца [1,31]

int tm_wday;

//день недели [0,6]

int tm_mon;

// месяцы [0,11]

int tm_year;

//год после 1900

int tm_yday;

//день [0,365]

int tm_isdst;

// флаг летнего времени

}; 2 определены следующие типы данных:

time_t – это тип, который содержит календарное время в формате, в которой оно возвращяется функцией time() и обрабатывается функцией difftime().

typedef long time_t;

clock_t – это тип данных для предоставления времени, функция clock(), возвращает этот тип данных.

typedef long clock_t;

3. определены прототипы следующих функций:

Функция

Действие

char* ctime (const time_t*)

Преобразует дату и время в строку

char * asctime (const tm*)

 

double difftime(time_t, time_t)

Вычисляет интервал времени выполнении

clock_t сlock( void )

программы в микросекундах

tm* localtime(const time_t*)

Преобразует дату и время в структуру tm

tm* gmtime(const time_t*)

 

time_t time (time_t*)

Возвращает текущее время (системное)

В прикладной программе зачастую приходится использовать значение текущей даты и времени. Для этого необходимо:

1.подключить библиотеку time.h

2.определить указатель на структуру tm: struct tm *date_time;

ипеременную типа time_t: time_t timer;

3.для получения текущего (системного) времени воспользоваться функцией time(): time(&timer);

4.преобразует дату и время в структуру tm, можно двумя способами:

4.1 с помощью функции localtime()

date_time = localtime(&timer);

4.2 с помощью функции gmtime () date_time = gmtime(&timer);

5. преобразует дату и время в строку, можно двумя способами:

5.1 с помощью функции ctime ()

printf("The present date and time is: %s\n", ctime(&timer));

5.2 с помощью функции asctime ()

printf("The present date and time is: %s\n", asctime(date_time));

6. вычислить время выполнения программы, можно двумя способами:

6.1с помощью функции clock() printf("%lf\n", clock()/1000.0);

6.2с помощью функции difftime ()

printf("The present date and time is: %s\n", asctime(date_time)); time_t timer1 = time(NULL);

// код программы time_t timer2 = time(NULL);

printf("%lf", difftime(timer2,timer1));

Пример программы:

#include <stdio.h> #include <time.h> #include <clocale> using namespace std; void main(){

setlocale(LC_ALL,"Russian");

struct tm *date_time; time_t timer;

time(&timer);

date_time = localtime(&timer);

printf("День недели: %d\n",date_time->tm_wday);

printf("The present date and time is: %s\n", ctime(&timer));

printf("%lf\n",clock()/1000.0);

}