|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
GetDateFormat
The GetDateFormat function formats a date as a date string for a specified locale. The function formats either a specified date or the local system date.
int GetDateFormat(
LCID Locale, // locale for which date is to be formatted DWORD dwFlags, // flags specifying function options CONST SYSTEMTIME *lpDate, // date to be formatted LPCTSTR lpFormat, // date format string LPTSTR lpDateStr, // buffer for storing formatted string int cchDate // size of buffer );
Parameters
Locale
Specifies the locale for which the date string is to be formatted. If lpFormat is NULL, the function formats the string according to the date format for this locale. If lpFormat is not NULL, the function uses the locale only for information not specified in the format picture string (for example, the locale's day and month names). This parameter can be a locale identifier created by the MAKELCID macro, or one of the following predefined values:
LOCALE_SYSTEM_DEFAULT Default system locale. LOCALE_USER_DEFAULT Default user locale.
dwFlags
A set of bit flags that specify various function options. If lpFormat is non-NULL, this parameter must be zero. If lpFormat is NULL, you can specify a combination of the following flags:
Flag Meaning LOCALE_NOUSEROVERRIDE If set, the function formats the string using the system default date format for the specified locale. If not set, the function formats the string using any user overrides to the locale's default date format. DATE_SHORTDATE Use the short date format. This is the default. Cannot be used with DATE_LONGDATE. DATE_LONGDATE Use the long date format. Cannot be used with DATE_SHORTDATE. DATE_USE_ALT_CALENDAR Use the alternate calendar, if one exists, to format the date string. If this flag is set, the function uses the default format for that alternate calendar, rather than using any user overrides. The user overrides will be used only in the event that there is no default format for the specified alternate calendar.
lpDate
Pointer to a SYSTEMTIME structure that contains the date information to be formatted. If this pointer is NULL, the function uses the current local system date.
lpFormat
Pointer to a format picture string to use to form the date string. If lpFormat is NULL, the function uses the date format of the specified locale. Use the following elements to construct a format picture string. If you use spaces to separate the elements in the format string, these spaces will appear in the same location in the output string. The letters must be in uppercase or lowercase as shown in the table (for example, "MM" not "mm"). Characters in the format string that are enclosed in single quotation marks will appear in the same location and unchanged in the output string.
Picture Meaning d Day of month as digits with no leading zero for single-digit days. dd Day of month as digits with leading zero for single-digit days. ddd Day of week as a three-letter abbreviation. The function uses the LOCALE_SABBREVDAYNAME value associated with the specified locale. dddd Day of week as its full name. The function uses the LOCALE_SDAYNAME value associated with the specified locale. M Month as digits with no leading zero for single-digit months. MM Month as digits with leading zero for single-digit months. MMM Month as a three-letter abbreviation. The function uses the LOCALE_SABBREVMONTHNAME value associated with the specified locale. MMMM Month as its full name. The function uses the LOCALE_SMONTHNAME value associated with the specified locale. y Year as last two digits, but with no leading zero for years less than 10. yy Year as last two digits, but with leading zero for years less than 10. yyyy Year represented by full four digits. gg Period/era string. The function uses the CAL_SERASTRING value associated with the specified locale. This element is ignored if the date to be formatted does not have an associated era or period string.
For example, to get the date string
"Wed, Aug 31 94"
use the following picture string:
"ddd',' MMM dd yy"
lpDateStr
Pointer to a buffer that receives the formatted date string.
cchDate
Specifies the size, in bytes (ANSI version) or characters (Unicode version), of the lpDateStr buffer. If cchDate is zero, the function returns the number of bytes or characters required to hold the formatted date string, and the buffer pointed to by lpDateStr is not used.
Return Values
If the function succeeds, the return value is the number of bytes (ANSI version) or characters (Unicode version) written to the lpDateStr buffer, or if the cchDate parameter is zero, the number of bytes or characters required to hold the formatted date string. If the function fails, the return value is zero. To get extended error information, call GetLastError. GetLastError may return one of the following error codes:
ERROR_INSUFFICIENT_BUFFER ERROR_INVALID_FLAGS ERROR_INVALID_PARAMETER
Remarks
The day name, abbreviated day name, month name, and abbreviated month name are all localized based on the given locale identifier. The date values in the SYSTEMTIME structure pointed to by lpDate must be valid. The function checks each of the date values: year, month, day, and day of week. If the day of the week is incorrect, the function uses the correct value, and returns no error. If any of the other date values are outside the correct range, the function fails, and sets the last-error to ERROR_INVALID_PARAMETER.
The function ignores the time portions of the SYSTEMTIME structure pointed to by lpDate: wHour, wMinute, wSecond, and wMilliseconds. The DATE_SHORTDATE and DATE_LONGDATE flag options are mutually exclusive. If neither one is specified and lpFormat is NULL, then DATE_SHORTDATE is the default. No errors are returned for a bad format string. The function simply forms the best date string that it can. For example, the only year pictures that are valid are L"yyyy" and L"yy" (the 'L' indicates a Unicode (16-bit characters) string). If L"y" is passed in, the function assumes L"yy". If L"yyy" is passed in, the function assumes L"yyyy". If more than 4 date (L"dddd") or 4 month (L"MMMM") pictures are passed in, then the function defaults to L"dddd" or L"MMMM".
Any text that should remain in its exact form in the date string should be enclosed within single quotation marks in the date format picture. The single quotation mark may also be used as an escape character to allow the single quotation mark itself to be displayed in the date string. However, the escape sequence must be enclosed within two single quotation marks. For example, to display the date as "May '93", the format string would be: L"MMMM ''''yy" The first and last single quotation marks are the enclosing quotation marks. The second and third single quotation marks are the escape sequence to allow the single quotation mark to be displayed before the century.
See Also
GetTimeFormat, SYSTEMTIME
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
GetDateFormat
Функция GetDateFormat форматирует дату как дату строки для определенного места действия. Функция форматирует или определенная дата или локальная системная дата.
int GetDateFormat(
МЕСТО действия LCID, // место действия для которых дата должна быть отформатирована DWORD dwFlags, // флаги, определяющие функциональные опции CONST SYSTEMTIME *lpDate, // дата, чтобы быть отформатировавш LPCTSTR lpFormat, // дата строки формата LPTSTR lpDateStr, // буфер для хранения отформатировавшего строку размера int cchDate // буфера );
Параметры
Место действия
Определяет место действия для которого дата строки должна быть отформатирована. Если lpFormat НЕДЕЙСТВИТЕЛЕН, функция форматирует строку согласно дате формата для этого места действия. Если lpFormat не НЕДЕЙСТВИТЕЛЕН, функция использует место действия только для информации не определенное в картинной строке формата (например, место действия дневные и месячные имена). Этот параметр может быть местом действия идентификатора созданным макро MAKELCID, или одна из следующих встроенных величин:
По умолчанию системное место действия LOCALE_SYSTEM_DEFAULT. место действия пользователя Умолчания LOCALE_USER_DEFAULT.
dwFlags
Установка бита сигнализирует, что определяет различные функциональные опции. Если lpFormat не-НЕДЕЙСТВИТЕЛЕН, этот параметр должен - нулевым. Если lpFormat НЕДЕЙСТВИТЕЛЕН, Вы можете определить комбинацию следующего флагов:
Значение Флага LOCALE_NOUSEROVERRIDE Если установлено, функция форматирует строку, использовавшую системный по умолчанию формат даты для определенного места действия. Если не установлено, функция форматирует строку, использовавшую любого пользователя аннулируется на место действия по умолчанию даты формата. DATE_SHORTDATE Использует короткий формат даты. Это по умолчанию. Не может быть использовано DATE_LONGDATE. DATE_LONGDATE Использует длинный формат даты. Не может быть использовано DATE_SHORTDATE. DATE_USE_ALT_CALENDAR Использует альтернативный календарь, если один существует, чтобы форматировать дату строки. Если этот флаг установлен, функция использует по умолчанию формат для этого альтернативного календаря, а не используя любого пользователя аннулируется. Пользователь аннулирует, используется только в случае, если нет по умолчанию формата для определенного альтернативного календаря.
lpDate
Указатель в структуру SYSTEMTIME, которая содержит дату информации, которая нужно форматироваться. Если этот указатель НЕДЕЙСТВИТЕЛЕН, функция использует текущую локальную системную дату.
lpFormat
Указатель в картинную строку формата, чтобы использоваться, чтобы формировать дату строки. Если lpFormat НЕДЕЙСТВИТЕЛЕН, функция использует дату формата определенного места действия. Используйте следующие элементы, чтобы создавать картинную строку формата. Если Вы используете пробелы, чтобы разделять элементы в строке формата, эти пробелы появится в той же позиции в выходной строке. Письма должны быть в верхнем регистре или верхнем регистре как показано в таблице (например, "MM" не "mm"). Символы в формате нанизывают, что приложены в единственных кавычках появится в той же позиции и неизменной в выходной строке.
Картинное Значение d День месяца как цифры без ведущего нуля в течение единственных-цифровых дней. dd День месяца как цифры с ведущим нулем в течение единственных-цифровых дней. ddd День недели как трех письмо сокращение. Функция использует величину LOCALE_SABBREVDAYNAME связанную определенным местом действия. dddd День недели как полное имя. Функция использует величину LOCALE_SDAYNAME связанную определенным местом действия. Месяц M как цифры без ведущего нуля в течение единственных-цифровых месяцев. МЕСЯЦ MM как цифры с ведущим нулем в течение единственных-цифровых месяцев. МЕСЯЦ MMM как трех письмо сокращение. Функция использует величину LOCALE_SABBREVMONTHNAME связанную определенным местом действия. МЕСЯЦ MMMM как полное имя. Функция использует величину LOCALE_SMONTHNAME связанную определенным местом действия. y Год как последние две цифры, но без ведущего нуля довольно долго менее чем 10. yy Год как последние две цифры, но с ведущим нулем довольно долго менее чем 10. yyyy Год представлялся полными четырьмя цифрами. gg Период/эра строки. Функция использует величину CAL_SERASTRING связанную определенным местом действия. Этот элемент проигнорирован если дата, которая нужно форматировать нет имеет связанную строку эры или периода.
Например, чтобы получать дату строки
"Ср., Авг. 31 94"
используйте картинную строку следующего:
"ddd',' MMM dd yy"
lpDateStr
Указатель в буфер, который получает форматированную строку даты.
cchDate
Определяет размер, в байтах (версия ANSI) или символы (версия Уникода), буфера lpDateStr. Если cchDate - нуль, функция возвращает количество байтов или символов требовавшихся, чтобы держать форматированную строку даты, и буфер указывался, чтобы lpDateStr не использован.
Обратные Величины
Если функция добивается успеха, обратная величина - количество байтов (версия ANSI) или символы (версия Уникода) записанного в буфер lpDateStr, или если параметр cchDate - нуль, количество байтов или символов требовавшиеся, чтобы держать форматированную строку даты. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError. GetLastError МОЖЕТ возвращать один из следующих кодов ошибки:
ERROR_INSUFFICIENT_BUFFER ERROR_INVALID_FLAGS ERROR_INVALID_PARAMETER
Замечания
Дневное имя, укорачивало дневное имя, месячное имя, и укоротившие месячное имя полностью локализованы основанное на данном месте действия идентификатора. Дата оценивается в структуре SYSTEMTIME указанной, чтобы lpDate должно быть в силе. Функция проверяет каждую дату величин: год, месяц, день, и день недели. Если день недели неправильный, функция использует правильную величину и не возвращает никакую ошибку. Если любая из другой даты величин - за пределами правильного дипазона, функция терпит неудачу, и устанавливает последнюю-ошибку на ERROR_INVALID_PARAMETER.
Функция игнорирует части времени структуры SYSTEMTIME указанной, чтобы lpDate: wHour, wMinute, wSecond, и wMilliseconds. DATE_SHORTDATE И опции флага DATE_LONGDATE взаимно исключительные. Если никакое один определен и lpFormat НЕДЕЙСТВИТЕЛЕН, тогда DATE_SHORTDATE по умолчанию. Никакие ошибки не возвращаны для плохой строки формата. Функция просто формирует наилучшую строку даты, которая она может. Например, единственный год изображает, что быть в силе - L"yyyy" и L"yy" ( 'L указывает Уникод (16- битовые символы) строка). Если L"y" пройден в, функция принимает L"yy". Если L"yyy" пройден в, функция принимает L"yyyy". Если более, чем 4 даты изображений (L"dddd") или 4 месяца (L"MMMM") пройдены в, тогда функция устанавливается по умолчанию на L"dddd" или L"MMMM".
Любой текст, который должен оставаться в своей точной форме на дате строки должно быть приложено в пределах единственных кавычек на дате изображения формата. Единственная отметка котировки может также использована как символ перехода, чтобы позволять единственную отметку котировки, чтобы быть отображенн на дате строки. Тем не менее, последовательность перехода должна быть приложена в пределах двух единственных кавычек. Например, чтобы отображать дату как "Может '93", строка формата должна быть: L"MMMM ''''yy" первые и последние единственные кавычки являются объемлющими кавычками. Вторые и третьи единственные кавычки являются последовательностью перехода, чтобы допускать единственную отметку котировки, чтобы быть отображенн перед столетием.
Смотри Также
GetTimeFormat, SYSTEMTIME
|
|
|
|
| |