Поделиться через


Класс CFileTime

Этот класс предоставляет методы для управления значениями даты и времени, связанными с файлом.

Синтаксис

class CFileTime :  public FILETIME

Участники

Открытые конструкторы

Имя Описание
CFileTime::CFileTime Конструктор.

Открытые методы

Имя Описание
CFileTime::GetCurrentTime Вызовите эту статическую функцию, чтобы получить CFileTime объект, представляющий текущую системную дату и время.
CFileTime::GetTime Вызовите этот метод, чтобы получить время из CFileTime объекта.
CFileTime::LocalToUTC Вызовите этот метод, чтобы преобразовать локальное время файла в время файла на основе универсального времени (UTC).
CFileTime::SetTime Вызовите этот метод, чтобы задать дату и время, хранящиеся CFileTime объектом.
CFileTime::UTCToLocal Вызовите этот метод, чтобы преобразовать время на основе времени в формате UTC в локальное время файла.

Общедоступные операторы

Имя Описание
CFileTime::operator - Этот оператор используется для вычитания для объекта CFileTime или CFileTimeSpan объекта.
CFileTime::operator != Этот оператор сравнивает два CFileTime объекта для неравенства.
CFileTime::operator + Этот оператор используется для сложения объекта CFileTimeSpan.
CFileTime::operator += Этот оператор используется для сложения объекта CFileTimeSpan и назначения ему результата.
CFileTime::operator < Этот оператор сравнивает два объекта CFileTime, чтобы определить меньший из них.
CFileTime::operator <= Этот оператор сравнивает два объекта CFileTime, чтобы определить равенство или меньший из них.
CFileTime::operator = Оператор присваивания .
CFileTime::operator -= Этот оператор используется для вычитания CFileTimeSpan объекта и назначения результата текущему объекту.
CFileTime::operator == Этот оператор сравнивает два объекта CFileTime на равенство.
CFileTime::operator > Этот оператор сравнивает два объекта CFileTime, чтобы определить больший из них.
CFileTime::operator >= Этот оператор сравнивает два объекта CFileTime, чтобы определить равенство или больший из них.

Общедоступные константы

Имя Описание
CFileTime::Day Статический элемент данных, содержащий количество 100-наносекунд интервалов, составляющих один день.
CFileTime::Hour Статический элемент данных, содержащий число 100-наносекунд интервалов, составляющих один час.
CFileTime::Millisecond Статический элемент данных, содержащий число 100-наносекунд интервалов, составляющих один миллисекунд.
CFileTime::Minute Статический элемент данных, содержащий количество 100-наносекунд интервалов, составляющих одну минуту.
CFileTime::Second Статический элемент данных, в котором хранится число 100-наносекунд интервалов, составляющих одну секунду.
CFileTime::Week Статический элемент данных, содержащий число 100-наносекунд интервалов, составляющих одну неделю.

Замечания

Этот класс предоставляет методы управления значениями даты и времени, связанными с созданием, доступом и изменением файлов. Методы и данные этого класса часто используются вместе с CFileTimeSpan объектами, которые имеют дело с относительными значениями времени.

Значение даты и времени хранится в виде 64-разрядного значения, представляющего число 100-наносекунд интервалов с 1 января 1601 года. Этот формат — это формат универсального времени (UTC).

Для упрощения вычислений предоставляются следующие статические переменные члена константа:

Переменная-член Число 100-наносекунд интервалов
Миллисекунда 10,000
Second Миллисекунда * 1000
Minute Второй * 60
Часы Минута * 60
день Час * 24
неделя День * 7

Примечание.

Не все файловые системы могут записывать и записывать время последнего доступа, а не все файловые системы записывают их одинаково. Например, в файловой системе Windows NT FAT время создания имеет разрешение 10 миллисекунд, время записи имеет разрешение 2 секунды, а время доступа имеет разрешение 1 день (дата доступа). В NTFS время доступа имеет разрешение на 1 час. Кроме того, время записи FAT на диске в локальном времени, но время записи NTFS на диске в формате UTC. Дополнительные сведения см. в разделе "Время файла".

Иерархия наследования

FILETIME
 └ CFileTime

Требования

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

CFileTime::CFileTime

Конструктор.

CFileTime() throw();
CFileTime(const FILETIME& ft) throw();
CFileTime(ULONGLONG nTime) throw();

Параметры

ft
Структура FILETIME.

nTime
Дата и время, выраженные как 64-разрядное значение.

Замечания

Объект CFileTime можно создать с помощью существующей даты и времени из FILETIME структуры или выразить в виде 64-разрядного значения (в локальных или формате времени UTC). Конструктор по умолчанию задает время 0.

CFileTime::Day

Статический элемент данных, содержащий количество 100-наносекунд интервалов, составляющих один день.

static const ULONGLONG Day = Hour* 24;

Пример

Пример см. в примере CFileTime::Millisecond.

CFileTime::GetCurrentTime

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

static CFileTime GetCurrentTime() throw();

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

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

Пример

// Retrieve the current time
CFileTime myFT;
myFT = CFileTime::GetCurrentTime();

CFileTime::GetTime

Вызовите этот метод, чтобы получить время из CFileTime объекта.

ULONGLONG GetTime() const throw();

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

Возвращает дату и время в виде 64-разрядного номера, которое может быть в формате локального или универсального времени (UTC).

CFileTime::Hour

Статический элемент данных, содержащий число 100-наносекунд интервалов, составляющих один час.

static const ULONGLONG Hour = Minute* 60;

Пример

Пример см. в примере CFileTime::Millisecond.

CFileTime::LocalToUTC

Вызовите этот метод, чтобы преобразовать локальное время файла в время файла на основе универсального времени (UTC).

CFileTime LocalToUTC() const throw();

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

CFileTime Возвращает объект, содержащий время в формате UTC.

Пример

Пример см. в примере CFileTime::UTCToLocal.

CFileTime::Millisecond

Статический элемент данных, содержащий число 100-наносекунд интервалов, составляющих один миллисекунд.

static const ULONGLONG Millisecond = 10000;

Пример

// Calculate the difference between two times
CFileTime myFT1, myFT2;
CFileTimeSpan myFTS;

// Get the first time
myFT1 = CFileTime::GetCurrentTime();

// Pause for a moment
UINT randVal;
rand_s(&randVal);
Sleep(randVal % 10000);

// Get the second time
myFT2 = CFileTime::GetCurrentTime();

// Calculate the time difference
myFTS = myFT2 - myFT1;

// Measure the difference
if (myFTS.GetTimeSpan() < CFileTime::Minute)
   printf_s("Less than a minute passed\n");
else
   printf_s("A minute or more passed\n");

if (myFTS.GetTimeSpan() < CFileTime::Second)
   printf_s("Less than a second passed\n");
else
   printf_s("A second or more passed\n");

if (myFTS.GetTimeSpan() < CFileTime::Millisecond)
   printf_s("Less than a millisecond passed\n");
else
   printf_s("A millisecond or more passed\n");

CFileTime::Minute

Статический элемент данных, содержащий количество 100-наносекунд интервалов, составляющих одну минуту.

static const ULONGLONG Minute = Second* 60;

Пример

Пример см. в примере CFileTime::Millisecond.

CFileTime::operator -

Этот оператор используется для вычитания для объекта CFileTime или CFileTimeSpan объекта.

CFileTime operator-(CFileTimeSpan span) const throw();
CFileTimeSpan operator-(CFileTime ft) const throw();

Параметры

span
Объект CFileTimeSpan.

ft
Объект CFileTime.

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

CFileTime Возвращает объект или CFileTimeSpan объект, представляющий результат разницы времени между двумя объектами.

CFileTime::operator !=

Этот оператор сравнивает два CFileTime объекта для неравенства.

bool operator!=(CFileTime ft) const throw();

Параметры

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

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

Возвращает, TRUE если сравниваемый элемент не равен объекту CFileTime , в противном случае FALSE.

CFileTime::operator +

Этот оператор используется для сложения объекта CFileTimeSpan.

CFileTime operator+(CFileTimeSpan span) const throw();

Параметры

span
Объект CFileTimeSpan.

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

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

CFileTime::operator +=

Этот оператор используется для сложения объекта CFileTimeSpan и назначения ему результата.

CFileTime& operator+=(CFileTimeSpan span) throw();

Параметры

span
Объект CFileTimeSpan.

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

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

CFileTime::operator <

Этот оператор сравнивает два объекта CFileTime, чтобы определить меньший из них.

bool operator<(CFileTime ft) const throw();

Параметры

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

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

Возвращает значение TRUE , если первый объект меньше (раньше во времени), чем второй, FALSE в противном случае.

Пример

// Test for one time less than another
// Declare the CFileType objects
CFileTime myFT1, myFT2;

// Obtain the first time value
myFT1 = CFileTime::GetCurrentTime();

// Pause for a moment...
Sleep(1000);

// Obtain the second time value
myFT2 = CFileTime::GetCurrentTime();

// Perform the comparison
if (myFT1 < myFT2)
   _tprintf_s(_T("Time is going in the correct direction.\n"));
else
   _tprintf_s(_T("Oh dear. Time is going backwards.\n"));

CFileTime::operator <>=

Этот оператор сравнивает два объекта CFileTime, чтобы определить равенство или меньший из них.

bool operator<=(CFileTime ft) const throw();

Параметры

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

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

Возвращает значение TRUE , если первый объект меньше (раньше во времени) или равен второму, в противном случае FALSE.

CFileTime::operator =

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

CFileTime& operator=(const FILETIME& ft) throw();

Параметры

ft
CFileTime Объект, содержащий новое время и дату.

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

Возвращает обновленный CFileTime объект.

CFileTime::operator -=

Этот оператор используется для вычитания CFileTimeSpan объекта и назначения результата текущему объекту.

CFileTime& operator-=(CFileTimeSpan span) throw();

Параметры

span
CFileTimeSpan Объект, содержащий относительное время для вычитания.

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

Возвращает обновленный CFileTime объект.

CFileTime::operator ==

Этот оператор сравнивает два объекта CFileTime на равенство.

bool operator==(CFileTime ft) const throw();

Параметры

ft
Объект CFileTime, подлежащий сравнению.

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

Возвращает значение TRUE, если объекты равны. В противном случае — значение FALSE.

CFileTime::operator >

Этот оператор сравнивает два объекта CFileTime, чтобы определить больший из них.

bool operator>(CFileTime ft) const throw();

Параметры

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

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

Возвращает значение TRUE , если первый объект больше (позже во времени), чем второй, в противном случае FALSE.

CFileTime::operator >=

Этот оператор сравнивает два объекта CFileTime, чтобы определить равенство или больший из них.

bool operator>=(CFileTime ft) const throw();

Параметры

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

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

Возвращает значение TRUE , если первый объект больше (позже во времени) или равен второму, в противном случае FALSE.

CFileTime::Second

Статический элемент данных, содержащий количество 100-наносекунд интервалов, составляющих один день.

static const ULONGLONG Second = Millisecond* 1000;

Пример

Пример см. в примере CFileTime::Millisecond.

CFileTime::SetTime

Вызовите этот метод, чтобы задать дату и время, хранящиеся CFileTime объектом.

void SetTime(ULONGLONG nTime) throw();

Параметры

nTime
64-разрядное значение, представляющее дату и время в локальном или формате UTC.

CFileTime::UTCToLocal

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

CFileTime UTCToLocal() const throw();

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

CFileTime Возвращает объект, содержащий время в формате времени локального файла.

Пример

// Convert a UTC time to local file time format
CFileTime myUTC_FT, myL_FT;
// Get system time (in UTC format)
myUTC_FT = CFileTime::GetCurrentTime();
// Convert to local file time
myL_FT = myUTC_FT.UTCToLocal();         

CFileTime::Week

Статический элемент данных, содержащий число 100-наносекунд интервалов, составляющих одну неделю.

static const ULONGLONG Week = Day* 7;

Пример

Пример см. в примере CFileTime::Millisecond.

См. также

FILETIME
Класс CFileTimeSpan
Диаграмма иерархии
Общие классы ATL/MFC