Ctime c что это
Перейти к содержимому

Ctime c что это

  • автор:

Ctime c что это

Обратная связь

Включает время заголовка и добавляет связанные имена в std пространство имен.

Синтаксис

#include

Замечания

Включение этого заголовка гарантирует, что имена, объявленные с помощью внешней компоновки в заголовке стандартной библиотеки C, объявляются в пространстве имен std .

Константы

#define NULL #define CLOCKS_PER_SEC #define TIME_UTC namespace std

Структуры

struct timespec; struct tm; 

Функции

clock_t clock(); double difftime(time_t time1, time_t time0); time_t mktime(struct tm* timeptr); time_t time(time_t* timer); int timespec_get(timespec* ts, int base); char* asctime(const struct tm* timeptr); char* ctime(const time_t* timer); struct tm* gmtime(const time_t* timer); struct tm* localtime(const time_t* timer); size_t strftime(char* s, size_t maxsize, const char* format, const struct tm* timeptr); 

Ctime c что это

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

Файл time.h определяет три типа: clock_t и time_t оба служат для представления времени в удобном для произведения арифметических операций виде (В этой реализации величины типа clock_t имеют наивысшую точность, воэможную для данного компьютера, а точность величин типа time_t составляет одну секунду.), тип size_t определен для представления размеров.

В time.h также определяется структура tm для стандартного представления времени по грегорианскому календарю как цепочки чисел со следующими полями: tm_sec

День недели: число дней с воскpесенья.

Число дней, пpошедших с пеpвого янваpя.

Флаг летнего вpемени: положительное значение означает, что действyет летнее вpемя, нyлевое — что оно не действyет, отpицательное — что данных об этом нет.

#include char *asctime(const struct tm *timp); #include char *_asctime_r(const struct tm *timp, void *reent);

Форматирует время в timp строку вида

Wed Jun 15 11:38:07 1988\n\0

Строка создается в статическом буфере; каждый вызов toasctime перезаписывает строку, созданную при предыдущем вызове.

_asctime_r является повторно входимой версией функции asctime.

Дополнительный аргумент reent — указатель на структуру, содержащую информацию для обеспечения повторной входимости.

Возвращается yказатель на строку, содержащую отформатированное значение timestamp.

Стандарт ANSI требует наличия функции asctime.

asctime не требует никаких процедур ОС.

#include clock_t clock(void);

Вычисляет наилучшее возможное приближение общего процессорного времени, прошедшего с момента запуска программы. Для преобразования результата в секунды его нужно разделить на макро CLOCKS_PER_SEC.

Выдается общее количество процессорного времени, прошедшего с момента начала выполнения программы в единицах, определенных машинно-зависимым макро CLOCKS_PER_SEC. Если такое измерение провести нельзя, то выдается -1.

Стандарт ANSI требует наличия функции clock и макро CLOCKS_PER_SEC.

Требуется процедура ОС: times.

#include char *ctime(time_t timp);

Переводит величину в timp в местное время (как localtime) и форматирует его в строку вида

Wed Jun 15 11:38:07 1988\n\0

(как asctime).

Возвращается yказатель на строку, содержащую отформатированное значение timestamp.

Стандарт ANSI требует наличия функции ctime.

ctime не требует никаких процедур ОС.

#include double difftime(time_t tim1, time_t tim2);

Вычитает два времени в аргументах tim1 и tim2.

Выдается pазница (в секундах) между tim2 и tim1, типа double.

Стандарт ANSI требует наличия функции difftime, и определяет, что pезyльтат должен выдаваться в секyндах во всех реализациях.

difftime не требует никаких процедур ОС.

#include struct tm *gmtime(const time_t *timep

gmtime полагает, что время в timep представляет собой местное время и преобразует его в UTC (universal coordinated time — Универсальное Всемирное время, также известное как GMT, greenwich mean time), затем преобразовывает арифметическое представление в традиционное представление, определяемое struct tm.

gmtime создает традиционное представление времени в статической памяти, каждый вызов gmtime или localtime переписывает это представление, созданное какой-либо из этих функций.

Возвращается указатель на традиционное представление времени (struct tm).

Стандарт ANSI требует наличия функции gmtime.

gmtime не требует никаких процедур ОС.

#include struct tm *localtime(time_t *timep);

localtime преобразовывает время в timep в местное время, затем преобразовывает арифметическое представление в традиционное представление, определяемое struct tm.

localtime создает традиционное представление времени в статической памяти, каждый вызов gmtime или localtime переписывает это представление, созданное какой-либо из этих функций.

mktime — обратная к localtime функция.

Возвращается yказатель на традиционное представление времени (struct tm).

Стандарт ANSI требует наличия функции localtime.

localtime не требует никаких процедур ОС.

#include time_t mktime(struct tm *timp);

mktime пердполагает, что время в timp — локальное, и преобразовывает его представление из традиционного представления, определенного struct tm в представление подходящее для арифметических операций.

localtime — функция, обратная к mktime.

Если содержимое структуры в timp не является правильным представлением календарного времени, то выдается -1. В противном случае выдается время преобразованное в значение time_t.

Стандарт ANSI требует наличия функции mktime.

mktime не требует никаких процедур ОС.

#include size_t strftime(char *s, size_t maxsize, const char *format, const struct tm *timp);

strftime преобразовывает представление времени типа struct tm (в timp) в строку, начиная с s и занимая не более чем maxsize знаков.

Для управления форматированием вывода используется строка в format. *format может содержать два типа спецификаций: текст для прямого копирования в форматируемую строку и спецификации преобразования времени. Спецификации преобразования времени состоят из последовательностей из двух знаков, начинающихся с % (%% включает знак процента в вывод). Каждая определенная спецификация преобразования выбирает поле в календарного времени, записанного в *timp, и преобразовывает его в строку одним из следующих способов: %a

Сокращение для дня недели.

Полное имя для дня недели.

Сокращение для названия месяца.

Полное имя месяца.

Строка, представляющая полную дату и время в виде Mon Apr 01 13:13:13 1992

День месяца, представленный двумя цифрами.

Час (на 24-часовых часах), представленный двумя цифрами.

Час (на 12-часовых часах), представленный двумя цифрами.

Число дней в году, представленное тремя цифрами (от 001 до 366).

Номер месяца, представленный двумя цифрами.

Минута, представленная двумя цифрами.

Секунда, представленная двумя цифрами.

Номер недели, представленный двумя цифрами (от 00 до 53; первая неделя считается начавшейся в первое воскресенье года). Смотрите также %w.

День недели, представленный одной цифрой, воскресенье -нулем.

Другая версия номера недели: как %u, но считая первую неделю с первого понедельника года.

o %x Строка, полностью представляющая дату в формате Mon Apr 01 1992

Строка, представляющая полное время дня (часы, минуты и секунды) в формате 13:13:13

Последние две цифры года.

Полный год, фоpматиpованный в четыpе цифpы.

Определенно в ANSI C для выделения временного промежутка, если это возможно; в данной реализации это отсутствует (%z допускается, но по нему ничего не выводится).

Если отформатированное время занимает не более чем maxsize знаков, то выдается длина отформатированной строки. В противном случае, если форматирование было прекращено из-за нехватки места, то выдается 0 0 и строка, начинающаяся в s, соответствует тем частям *format, которые могут быть полностью представлены в пределе maxsize знаков.

Стандарт ANSI требует наличия функции strftime, но не определяет содержимое *s, если отформатированная строка занимает больше чем maxsize знаков.

strftime не требует никаких процедур ОС.

#include time_t time(time_t *t);

time находит наилучшее доступное представление текущего времени и возвращает его, закодированное как time_t. Тоже значение сохраняется в t, если только аргумент неравен NULL.

Возвращаемая -1 означает, что текущее время недоступно; в противном случае результат представляет текущее время.

Стандарт ANSI требует наличия функции time.

В некотоpых pеализациях тpебyется пpоцедypа ОС gettimeofday.

Заголовочный файл ctime (time.h)

Эта библиотека содержит функции для работы со временем и датой в С++.

Функции библиотеки ctime

Функции управления временем
clock Функция возвращает количество тактов процессора, прошедших с момента запуска программы.
difftime Возвращает разницу между двумя значениями времени.
mktime Перевод структуры timeptr в time_t .
time Получить текущее время.
Функции преобразования
asctime Преобразование значения структуры timeptr в строку.
ctime Преобразование значения типа time_t в строку.
gmtime Принимает значение текущего времени в секундах и инициализирует структуру в формате GMT .
localtime Принимает значение текущего времени в секундах и инициализирует структуру в местном формате времени.
strftime Преобразование времени в символьную строку.

Макросы библиотеки ctime

CLOCKS_PER_SEC Количество тактов в секунду.
NULL Нуль указатель.

Типы данных библиотеки ctime

clock_t Тип данных, для представления тактов.
size_t Интегральный тип данных
time_t Тип данных времени.
struct tm Структура времени.

Поделиться:

�� Rust Journey: Хотите освоить язык программирования, который завоевывает мир?

�� Илон Маск, один из ведущих инноваторов нашего времени, утверждает, что за Rust будущее. А когда последний раз он ошибался в своих прогнозах? ��

✨ Не упустите свой шанс быть в авангарде IT-революции. Подписывайтесь на канал Rust Journey и начните свой путь в захватывающий мир Rust сегодня!

Новое

  • Особенности Qt: слоты и сигналы, описание QObject и QApplication, виды окон и т.д.
  • Первая программа на Qt:
  • Введение — графическая библиотека Qt
  • Наследование классов
  • Перегрузка операторов в С++ (часть 2)

Класс CTime

CTime значения основаны на согласованном универсальном времени (UTC), эквивалентном координированному универсальному времени (среднее время Гринвича, GMT). Сведения о том, как определяется часовой пояс, см. в разделе «Управление временем».

При создании CTime объекта задайте nDST для параметра значение 0, чтобы указать, что стандартное время действует, или значение, превышающее 0, чтобы указать, что летнее время действует, или значение меньше нуля, чтобы код библиотеки времени выполнения C вычислял, имеет ли значение стандартное время или летнее время. tm_isdst — это обязательное поле. Если значение не задано, его значение не определено, а возвращаемое значение из mktime непредсказуемо. Если timeptr указывает на структуру tm, возвращаемую предыдущим вызовом asctime_s , _gmtime_s или localtime_s, tm_isdst поле содержит правильное значение.

Класс-компаньон CTimeSpan представляет интервал времени.

CTimeSpan Классы CTime не предназначены для производных. Поскольку виртуальных функций нет, размер CTime объектов CTimeSpan составляет ровно 8 байт. Большинство функций-членов являются встроенными.

Верхний предел даты — 12.31.3000. Меньшее ограничение — 1.1.1.1970 12:00:00 AM GMT.

Дополнительные сведения об использовании CTime см. в статьях » Дата и время» и «Управление временем» в справочнике по библиотеке времени выполнения.

Структура CTime изменилась с MFC 7.1 на MFC 8.0. Если вы сериализуете CTime структуру с помощью оператора в MFC 8.0 или более поздней версии, результирующий файл не будет читаемым в более ранних версиях MFC.

Требования

Заголовок: atltime.h

Операторы сравнения CTime

bool operator==(CTime time) const throw(); bool operator!=(CTime time) const throw(); bool operator<(CTime time) const throw(); bool operator>(CTime time) const throw(); bool operator<=(CTime time) const throw(); bool operator>=(CTime time) const throw(); 

Параметры

time
Сравниваемый объект CTime .

Возвращаемое значение

Эти операторы сравнивают два абсолютных времени и возвращают значение TRUE, если условие имеет значение true; в противном случае ЗНАЧЕНИЕ FALSE.

Пример

CTime t1 = CTime::GetCurrentTime(); CTime t2 = t1 + CTimeSpan(0, 1, 0, 0); // 1 hour later ATLASSERT(t1 != t2); ATLASSERT(t1 < t2); ATLASSERT(t1  

CTime::CTime

Создает новый CTime объект, инициализированный с заданным временем.

CTime() throw(); CTime(__time64_t time) throw(); 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& st, int nDST = - 1) throw(); CTime(const FILETIME& ft, int nDST = - 1); CTime(const DBTIMESTAMP& dbts, int nDST = -1) throw(); 

Параметры

timeSrc
Указывает CTime объект, который уже существует.

time
__time64_t Значение времени, которое является числом секунд после 1 января 1970 года UTC. Обратите внимание, что это изменится на ваше локальное время. Например, если вы находитесь в Нью-йорке и создадите CTime объект, передав параметр 0, CTime::GetMonth вернет 12.

nYear, nMonth, nDay, nHour, nMin, nSec
Указывает значения даты и времени, скопированные в новый CTime объект.

nDST
Указывает, действует ли летнее время. Может иметь одно из трех значений:

  • значение nDST , равное 0Standard time, действует.
  • значение nDST , равное значению, больше 0Daylight сберегательное время, действует.
  • значение nDST , равное значению меньше 0The по умолчанию. Автоматически вычисляет, действует ли стандартное время или летнее время.

wDosDate, wDosTime
Значения даты и времени MS-DOS, которые будут преобразованы в значение даты и времени и скопированы в новый CTime объект.

St
Структура SYSTEMTIME, которая будет преобразована в значение даты и времени и скопирована в новый CTime объект.

Метрах
Структура FILETIME, которая будет преобразована в значение даты и времени и скопирована в новый CTime объект.

dbts
Ссылка на структуру DBTIMESTAMP, содержащую текущее локальное время.

Замечания

Каждый конструктор описан ниже:

  • CTime(); Создает неинициализированный CTime объект. Этот конструктор позволяет определить CTime массивы объектов. Перед использованием следует инициализировать такие массивы с допустимым временем.
  • CTime( const CTime& ); Создает объект из другого CTime CTime значения.
  • CTime( __time64_t ); CTime Создает объект из типа __time64_t. Этот конструктор ожидает время в формате UTC и преобразует результат в локальное время перед сохранением результата.
  • CTime( int, int, . ); CTime Создает объект из компонентов локального времени с каждым компонентом, ограниченным следующими диапазонами:

Компонент Диапазон
nYear 1970-3000
nMonth 1–12
nDay 1–31
nHour 0-23
nMin 0-59
nSec 0-59

Примечание. Конструктор, использующий DBTIMESTAMP параметр, доступен только при включении OLEDB.h.

Дополнительные сведения см . в структуре SYSTEMTIME и FILETIME в пакете SDK для Windows. Также см . запись даты и времени MS-DOS в пакете SDK для Windows.

Пример

time_t osBinaryTime; // C run-time time (defined in ) time(&osBinaryTime) ; // Get the current time from the // operating system. CTime time1; // Empty CTime. (0 is illegal time value.) CTime time2 = time1; // Copy constructor. CTime time3(osBinaryTime); // CTime from C run-time time CTime time4(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999 

CTime::Format

Вызовите эту функцию-член, чтобы создать форматируемое представление значения даты и времени.

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

Параметры

pszFormat
Строка форматирования, аналогичная строке printf форматирования. Коды форматирования, предшествующие знаку процента ( % ), заменяются соответствующим CTime компонентом. Другие символы в строке форматирования копируются без изменений в возвращаемую строку. Список кодов форматирования см. в strftime функции времени выполнения.

nFormatID
Идентификатор строки, определяющей этот формат.

Возвращаемое значение

CString , содержащий форматируемое время.

Замечания

Если состояние этого CTime объекта равно NULL, возвращаемое значение является пустой строкой.

Этот метод создает исключение, если значение даты и времени для форматирования не может варьироваться от полуночи, 1 января 1970 г. до 31 декабря 3000 г. (UTC).

Пример

CTime t(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999 CString s = t.Format(_T("%A, %B %d, %Y")); ATLASSERT(s == _T("Friday, March 19, 1999")); 

CTime::FormatGmt

Создает отформатированную строку, соответствующую этому CTime объекту.

CString FormatGmt(LPCTSTR pszFormat) const; CString FormatGmt(UINT nFormatID) const; 

Параметры

pszFormat
Задает строку форматирования, аналогичную строке printf форматирования. Дополнительные сведения см. в strftime функции времени выполнения.

nFormatID
Идентификатор строки, определяющей этот формат.

Возвращаемое значение

CString , содержащий форматируемое время.

Замечания

Значение времени не преобразуется и, таким образом, отражает UTC.

Этот метод создает исключение, если значение даты и времени для форматирования не может варьироваться от полуночи, 1 января 1970 г. до 31 декабря 3000 г. (UTC).

Пример

См. пример CTime ::Format.

CTime::GetAsDBTIMESTAMP

Вызовите эту функцию-член, чтобы преобразовать сведения о времени, хранящиеся в объекте CTime , в структуру DBTIMESTAMP, совместимую с Win32.

bool GetAsDBTIMESTAMP(DBTIMESTAMP& dbts) const throw(); 

Параметры

dbts
Ссылка на структуру DBTIMESTAMP, содержащую текущее локальное время.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

Сохраняет результирующее время в структуре баз данных, на которые ссылается ссылка. Структура DBTIMESTAMP данных, инициализированная этой функцией, будет иметь его fraction член равным нулю.

Пример

CTime t = CTime::GetCurrentTime(); DBTIMESTAMP ts; t.GetAsDBTIMESTAMP(ts); // Retrieves the time in t into the ts structure 

CTime::GetAsSystemTime

Вызовите эту функцию-член, чтобы преобразовать сведения о времени, хранящиеся в объекте CTime , в структуру SYSTEMTIME, совместимую с Win32.

bool GetAsSystemTime(SYSTEMTIME& st) const throw(); 

Параметры

TimeDest
Ссылка на структуру SYSTEMTIME , которая будет содержать преобразованное значение CTime даты и времени объекта.

Возвращаемое значение

Значение TRUE, если успешно; в противном случае — FALSE.

Замечания

GetAsSystemTime сохраняет результирующее время в указанной структуре timeDest . Структура SYSTEMTIME данных, инициализированная этой функцией, будет иметь его wMilliseconds член равным нулю.

Пример

// Convert CTime to FILETIME CTime time(CTime::GetCurrentTime()); SYSTEMTIME timeDest; time.GetAsSystemTime(timeDest); FILETIME fileTime; ::SystemTimeToFileTime(&timeDest, &fileTime); 

CTime::GetCurrentTime

CTime Возвращает объект, представляющий текущее время.

static CTime WINAPI GetCurrentTime() throw(); 

Замечания

Возвращает текущую системную дату и время в формате UTC.

Пример

CTime t = CTime::GetCurrentTime(); 

CTime::GetDay

Возвращает день, представленный CTime объектом.

int GetDay() const throw(); 

Возвращаемое значение

Возвращает день месяца в зависимости от местного времени в диапазоне от 1 до 31.

Замечания

Вызовы GetLocalTm этой функции, которая использует внутренний статически выделенный буфер. Данные в этом буфере перезаписываются из-за вызовов других CTime функций-членов.

Пример

// Example for CTime::GetDay, CTime::GetMonth, and CTime::GetYear CTime t(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999 ATLASSERT(t.GetDay() == 19); ATLASSERT(t.GetMonth() == 3); ATLASSERT(t.GetYear() == 1999); 

CTime::GetDayOfWeek

Возвращает день недели, CTime представленный объектом.

int GetDayOfWeek() const throw(); 

Возвращаемое значение

Возвращает день недели на основе местного времени; 1 = воскресенье, 2 = понедельник, до 7 = суббота.

Замечания

Вызовы GetLocalTm этой функции, которая использует внутренний статически выделенный буфер. Данные в этом буфере перезаписываются из-за вызовов других CTime функций-членов.

Пример

// Print out the day of the week using localized day name UINT DayOfWeek[] = < LOCALE_SDAYNAME7, // Sunday LOCALE_SDAYNAME1, LOCALE_SDAYNAME2, LOCALE_SDAYNAME3, LOCALE_SDAYNAME4, LOCALE_SDAYNAME5, LOCALE_SDAYNAME6 // Saturday >; TCHAR strWeekday[256]; CTime time(CTime::GetCurrentTime()); // Initialize CTime with current time ::GetLocaleInfo(LOCALE_USER_DEFAULT, // Get string for day of the week from system DayOfWeek[time.GetDayOfWeek()-1], // Get day of week from CTime strWeekday, sizeof(strWeekday) / sizeof(strWeekday[0])); ATLTRACE(_T("%s\n"), strWeekday); // Print out day of the week 

CTime::GetGmtTm

Получает структуру tm , содержащую декомпозицию времени, содержащегося в этом CTime объекте.

struct tm* GetGmtTm(struct tm* ptm) const; 

Параметры

Ptm
Указывает на буфер, который получит данные времени. Если этот указатель имеет значение NULL, создается исключение.

Возвращаемое значение

Указатель на заполненную структуру tm , как определено в файле INCLUDE TIME.H. См . инструкции gmtime, _gmtime32, _gmtime64 для макета структуры.

Замечания

GetGmtTm возвращает utc.

PTM не может иметь значение NULL. Если вы хотите отменить изменения в старое поведение, в котором ptm может иметь значение NULL, чтобы указать, что должен использоваться внутренний, статически выделенный буфер, а затем неуправляемый _SECURE_ATL.

Пример

// Compute difference between local time and GMT CTime time(CTime::GetCurrentTime()); tm t1, t2; time.GetLocalTm(&t1); time.GetGmtTm(&t2); ATLTRACE(_T("Difference between local time and GMT is %d hours.\n"), t1.tm_hour - t2.tm_hour); 

CTime::GetHour

Возвращает час, представленный CTime объектом.

int GetHour() const throw(); 

Возвращаемое значение

Возвращает час, основанный на местном времени, в диапазоне от 0 до 23.

Замечания

Вызовы GetLocalTm этой функции, которая использует внутренний статически выделенный буфер. Данные в этом буфере перезаписываются из-за вызовов других CTime функций-членов.

Пример

// Example for CTime::GetHour, CTime::GetMinute, and CTime::GetSecond CTime t(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999 ATLASSERT(t.GetSecond() == 0); ATLASSERT(t.GetMinute() == 15); ATLASSERT(t.GetHour() == 22); 

CTime::GetLocalTm

Возвращает структуру tm , содержащую декомпозицию времени, содержащегося в этом CTime объекте.

struct tm* GetLocalTm(struct tm* ptm) const; 

Параметры

Ptm
Указывает на буфер, который получит данные времени. Если этот указатель имеет значение NULL, создается исключение.

Возвращаемое значение

Указатель на заполненную структуру tm , как определено в файле INCLUDE TIME.H. См . инструкции gmtime, _gmtime32, _gmtime64 для макета структуры.

Замечания

GetLocalTm возвращает локальное время.

PTM не может иметь значение NULL. Если вы хотите отменить изменения в старое поведение, в котором ptm может иметь значение NULL, чтобы указать, что должен использоваться внутренний, статически выделенный буфер, а затем неуправляемый _SECURE_ATL.

Пример

CTime t(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999 tm osTime; // A structure containing time elements. t.GetLocalTm(&osTime); ATLASSERT(osTime.tm_mon == 2); // Note zero-based month! 

CTime::GetMinute

Возвращает минуту, представленную CTime объектом.

int GetMinute() const throw(); 

Возвращаемое значение

Возвращает минуту, основанную на местном времени, в диапазоне от 0 до 59.

Замечания

Вызовы GetLocalTm этой функции, которая использует внутренний статически выделенный буфер. Данные в этом буфере перезаписываются из-за вызовов других CTime функций-членов.

Пример

CTime::GetMonth

Возвращает месяц, представленный CTime объектом.

int GetMonth() const throw(); 

Возвращаемое значение

Возвращает месяц, основанный на местном времени, в диапазоне от 1 до 12 (1 = январь).

Замечания

Вызовы GetLocalTm этой функции, которая использует внутренний статически выделенный буфер. Данные в этом буфере перезаписываются из-за вызовов других CTime функций-членов.

Пример

CTime::GetSecond

Возвращает второй, представленный CTime объектом.

int GetSecond() const throw(); 

Возвращаемое значение

Возвращает второй, основанный на местном времени, в диапазоне от 0 до 59.

Замечания

Вызовы GetLocalTm этой функции, которая использует внутренний статически выделенный буфер. Данные в этом буфере перезаписываются из-за вызовов других CTime функций-членов.

Пример

CTime::GetTime

Возвращает значение __time64_t для данного CTime объекта.

__time64_t GetTime() const throw(); 

Возвращаемое значение

GetTime возвращает количество секунд между текущим CTime объектом и 1 января 1970 года.

Пример

CTime t(2005, 10, 20, 23, 50, 0); // 11:50 PM October 20, 2005 time_t osBinaryTime = t.GetTime(); // time_t defined in _tprintf_s(_T("time_t = %ld\n"), osBinaryTime); 

CTime::GetYear

Возвращает год, представленный CTime объектом.

int GetYear(); 

Возвращаемое значение

Возвращает год, основанный на местном времени, в диапазоне от 1 января 1970 г. до 18 января 2038 г. (включительно).

Замечания

Вызовы GetLocalTm этой функции, которая использует внутренний статически выделенный буфер. Данные в этом буфере перезаписываются из-за вызовов других CTime функций-членов.

Пример

CTime::operator =

CTime& operator=(__time64_t time) throw(); 

Параметры

time
Новое значение даты и времени.

Возвращаемое значение

Обновленный CTime объект.

Замечания

Этот перегруженный оператор назначения копирует исходное время в этот CTime объект. Внутреннее хранилище времени в объекте CTime не зависит от часового пояса. Преобразование часового пояса не требуется во время назначения.

CTime::operator +, -

Эти операторы добавляют и вычитают и CTime вычитают CTimeSpan объекты.

CTime operator+(CTimeSpan timeSpan) const throw(); CTime operator-(CTimeSpan timeSpan) const throw(); CTimeSpan operator-(CTime time) const throw(); 

Параметры

Timespan
Добавляемый CTimeSpan или вычитаемый объект.

time
Вычитаемый CTime объект.

Возвращаемое значение

Объект CTime или CTimeSpan объект, представляющий результат операции.

Замечания

CTime объекты представляют абсолютное время, CTimeSpan объекты представляют относительное время. Первые два оператора позволяют добавлять и вычитать CTimeSpan объекты в объекты и из CTime них. Третий оператор позволяет вычитать один CTime объект из другого CTimeSpan для получения объекта.

Пример

CTime t1(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999 CTime t2(1999, 3, 20, 22, 15, 0); // 10:15 PM March 20, 1999 CTimeSpan ts = t2 - t1; // Subtract 2 CTimes ATLASSERT(ts.GetTotalSeconds() == 86400L); ATLASSERT((t1 + ts) == t2); // Add a CTimeSpan to a CTime. ATLASSERT((t2 - ts) == t1); // Subtract a CTimeSpan from a CTime. 

CTime::operator +=, -=

Эти операторы добавляют и вычитают CTimeSpan объект в объект и из этого CTime объекта.

CTime& operator+=(CTimeSpan span) throw(); CTime& operator-=(CTimeSpan span) throw(); 

Параметры

Пролета
Добавляемый CTimeSpan или вычитаемый объект.

Возвращаемое значение

Обновленный CTime объект.

Замечания

Эти операторы позволяют добавлять и вычитать CTimeSpan объект в объект и из этого CTime объекта.

Пример

CTime t(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999 t += CTimeSpan(0, 1, 0, 0); // 1 hour exactly ATLASSERT(t.GetHour() == 23); 

CTime::Serialize64

Этот метод доступен только в проектах MFC.

Сериализует данные, связанные с переменной-членом, в архив или из нее.

CArchive& Serialize64(CArchive& ar); 

Параметры

Ar
Объект CArchive , который требуется обновить.

Возвращаемое значение

Обновленный CArchive объект.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *