В дополнении к функции strftime, определенной стандартом языка C,
стандарт XPG4 определяет следующие функции формата даты и времени:
| wcsftime | Преобразует значение времени в строку широких символов. |
| strptime | Преобразует строку многобайтовых символов во внутренний формат представления времени. |
#include <stdio.h>
#include <langinfo.h>
#include <locale.h>
#include <time.h>
main()
{
wchar_t timebuf[BUFSIZE];
time_t clock = time( (time_t*) NULL);
struct tim *tmptr = localetime(&clock);
(void)setlocale(LC_ALL, "");
wcsftime(
timebuf, /* Буфер для вывода */
BUFSIZ, /* Максимальный размер вывода */
nl_langinfo(D_T_FMT), /* Формат даты и времени */
tmptr /* Указатель на структуру tm */
);
printf("%S\n", timebuf);
}
#include <langinfo.h>
#include <locale.h>
#include <time.h>
main(int argc, char **argv)
{
struct tm tm;
(void)setlocale(LC_ALL, "");
if (argc != 2) {
... /* Обработка ошибок */
}
if (strptime(
argv[1], /* Строка со значением времени */
nl_langinfo(D_T_FMT), /* Формат даты и времени */
&tm /* Адрес структуры tm */
) == NULL) {
... /* Обработка ошибок */
}
else {
... /* Другие действия */
}
}
Раздел Функции для поддержки национальных языков - Обзор содержит дополнительную информацию о функциях работы с многобайтовыми и широкими символами.
Общие сведения о локализации программ приведены в разделах Глава 16, Поддержка национальных языков и Локаль - Информация для программистов.
Функции strftime, strptime, wcsftime.