Шаг 60 - Класс CTime

Создание проекта

Оставляем наше консольное приложение Win32 c поддержкой MFC. Код только перепишем.

Создаем код

#include "stdafx.h"
#include "afxwin.h"
#include "iostream.h"
void main()
{
CTime ct= CTime::GetCurrentTime(); // получить текущее время
CTime cts(1997,10,10,12,30,0); // другой класс
cout << "ct - " << ct.GetYear() << " cts - " << cts.GetYear() << endl; // текущий год
cout << "ct - " << ct.GetHour() << " cts - " << cts.GetHour() << endl; // текущий месяц
CTime ct1(1997,10,10,12,30,0);
CTime ct2(1998,10,10,12,30,0);
if (ct1 < ct2) cout << "ct1 < ct2 " << endl; // сравнить
cout << "Day " << ct.GetDayOfWeek() << endl; // получить день
cout << ct.Format("%A") << endl;
}

Программа в работе.

60_1.gif (3514 b)

Описание

Класс CTime создан для облегчения работы с форматом времени и даты. В нашем примере мы объявили две переменные на основе разных конструкторов. Конструкторов для CTime много. Вот смотрите сами.

CTime();
CTime(const CTime& timeSrc);
CTime(time_t time);
CTime(int nYear, int nMonth, int nDay, int nHour, int nMin, int nSec, int nDST = -1);
CTime(WORD wDosDate, WORD wDosTime, int nDST = -1);
CTime(const SYSTEMTIME& sysTime, int nDST = -1);
CTime(const FILETIME& fileTime, int nDST = -1);

В первой строке я использую GetCurrentTime() для получения текущего времени и даты в системе. Во втором случае я создаю класс с датой и временем на основе произвольной информации. Создав класс можно получать информацию об отдельных параметрах даты и времени с использованием следующих функций.

GetYear
GetMonth
GetDay
GetHour
GetMinute
GetSecond

Две строчки показывают, как можно использовать эти функции. Данный класс имеет несколько перегруженных функций. Одна из них сравнения, которая позволяет Вам определять какой из классов содержит большую дату. Это очень удобно при работе с датами. Дата не является стандартным типом в C++, но зато это стандартное поле в базах данных. Применяются даты очень часто, и необходимость их использования велика. Наиболее оптимально это делать с помощью класса CTime. Полезная функция GetDayOfWeek позволяющая получить номер дня недели. Так же из класса можно получить текстовую строку для вывода на экран. Для этого используется функция Format

CString Format( LPCTSTR pFormat ) const;
CString Format( UINT nFormatID ) const;

Шпаргалка

MFC поддерживает большое количество полезных классов которые могут значительно облегчить Вам жизнь. Один из таких классов CTime.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.