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


Функция SHFormatDateTimeA (shlwapi.h)

[SHFormatDateTime доступен для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях.]

Создает строковое представление времени, указанного в виде структуры FILETIME.

Синтаксис

int SHFormatDateTimeA(
  [in]                const FILETIME *pft,
  [in, out, optional] DWORD          *pdwFlags,
  [out]               LPSTR          pszBuf,
                      UINT           cchBuf
);

Параметры

[in] pft

Тип: const FILETIME UNALIGNED*

Указатель на структуру FILETIME, время которого необходимо преобразовать в строку.

[in, out, optional] pdwFlags

Тип: DWORD*

Указатель на значение DWORD, содержащее побитовые флаги, указывающие формат даты и времени.

При вызове функции можно объединить ноль или более следующих флагов, за исключением указанных ниже. Этот параметр также можно задать для null, в этом случае функция предполагает, что установлен флаг FDTF_DEFAULT.

FDTF_SHORTTIME (0x00000001)

0x00000001. Форматирует время дня, указанное региональными и языковыми параметрами, приложением на панели управления, но без секунд. Этот флаг нельзя объединить с FDTF_LONGTIME.

Короткое время было успешно отформатировано.

FDTF_SHORTDATE (0x00000002)

0x00000002. Форматирует дату в формате короткой даты в региональных и языковых параметров приложении на панели управления. Этот флаг нельзя объединить с FDTF_LONGDATE.

Короткая дата была успешно отформатирована.

FDTF_DEFAULT

Эквивалент FDTF_SHORTDATE | FDTF_SHORTTIME.

FDTF_LONGDATE (0x00000004)

0x00000004. Форматирует дату в формате длинной даты в приложении региональные и языковые параметры приложении на панели управления. Этот флаг нельзя объединить с FDTF_SHORTDATE.

Длинная дата была успешно отформатирована.

FDTF_LONGTIME (0x00000008)

0x00000008. Форматирует время дня, указанное приложением региональных и языковых параметров в панели управления, включая секунды. Этот флаг нельзя объединить с FDTF_SHORTTIME.

Долгое время было успешно отформатировано.

FDTF_RELATIVE (0x00000010)

0x00000010. Если установлен флаг FDTF_LONGDATE, а дата в структуре FILETIME совпадает с датой, которая вызывается SHFormatDateTime, то день недели (если присутствует) изменяется на "Сегодня". Если дата в структуре является предыдущим днем, то день недели (если присутствует) изменяется на "Вчера".

Относительная нотация использовалась для даты.

FDTF_LTRDATE (0x00000100)

0x00000100. Добавляет метки для макета чтения слева направо. Этот флаг нельзя объединить с FDTF_RTLDATE.

FDTF_RTLDATE (0x00000200)

0x00000200. Добавляет метки для макета чтения справа налево. Этот флаг нельзя объединить с FDTF_LTRDATE.

FDTF_NOAUTOREADINGORDER (0x00000400)

0x00000400. Метки порядка чтения не вставляются. Как правило, при отсутствии флага FDTF_LTRDATE или FDTF_RTLDATE SHFormatDateTime определяет порядок чтения из языкового стандарта пользователя, вставляет метки порядка чтения и обновляет значение pdwFlags выходным значением. Этот флаг предотвращает выполнение этого процесса. Чаще всего он используется устаревшими вызывающими SHFormatDateTime. Этот флаг нельзя объединить с FDTF_RTLDATE или FDTF_LTRDATE.

Windows Server 2003 и Windows XP: это значение недоступно.

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

[out] pszBuf

Тип: LPTSTR

Указатель на буфер, получающий отформатированную дату и время. Буфер должен быть достаточно большим, чтобы содержать число символов TCHAR, указанных параметром cchBuf, включая завершающий символ NULL.

cchBuf

Тип: UINT

Количество TCHAR, которые могут содержаться буфером, на который указывает pszBuf.

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

Тип: int

Возвращает количество TCHAR, записанных в буфер, включая завершающийся символ NULL. При сбое это значение равно 0.

Замечания

Заметка

Заголовок shlwapi.h определяет SHFormatDateTime как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка shlwapi.h
библиотеки Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя версия)

См. также

GetDateFormat

GetTimeFormat