В дополнении к функции 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.