Класс 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. Дополнительные сведения см. в разделе "Время файла".
Иерархия наследования
Требования
Заголовок: 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