std::time_get<CharT,InputIt>::date_order, std::time_get<CharT,InputIt>::do_date_order
Определено в заголовке <locale> | ||
|---|---|---|
public: dateorder date_order() const; | (1) | |
protected: virtual dateorder do_date_order() const; | (2) |
1) Открытая функция-член, вызывает защищенную виртуальную функцию-член
do_date_order самого производного класса.
2) Возвращает значение типа
std::time_base::dateorder, которое описывает стандартный формат даты, используемый в этой локали (ожидаемый функцией get_date() и производимый функцией std::strftime() с спецификатором формата '%x').Допустимые значения (унаследованные от std::time_base):
no_order | формат содержит переменные элементы (день недели, порядковый номер дня и т.д.), или функция не реализована |
dmy | день, месяц, год (европейские локали) |
mdy | месяц, день, год (американские локали) |
ymd | год, месяц, день (азиатские локали) |
ydm | год, день, месяц (редко) |
Параметры
(нет)
Возвращаемое значение
Значение типа dateorder.
Примечания
Эта функция необязательна, она может вернуть no_order в каждом случае.
Пример
Вывод ниже был получен с помощью clang (libc++).
#include <iostream>
#include <locale>
void show_date_order()
{
std::time_base::dateorder d = std::use_facet<std::time_get<char>>(
std::locale()
).date_order();
switch (d)
{
case std::time_base::no_order:
std::cout << "no_order\n";
break;
case std::time_base::dmy:
std::cout << "day, month, year\n";
break;
case std::time_base::mdy:
std::cout << "month, day, year\n";
break;
case std::time_base::ymd:
std::cout << "year, month, day\n";
break;
case std::time_base::ydm:
std::cout << "year, day, month\n";
break;
}
}
int main()
{
std::locale::global(std::locale("en_US.utf8"));
std::cout << "In U.S. locale, the default date order is: ";
show_date_order();
std::locale::global(std::locale("ja_JP.utf8"));
std::cout << "In Japanese locale, the default date order is: ";
show_date_order();
std::locale::global(std::locale("de_DE.utf8"));
std::cout << "In German locale, the default date order is: ";
show_date_order();
}Возможный вывод:
In U.S. locale, the default date order is: month, day, year In Japanese locale, the default date order is: year, month, day In German locale, the default date order is: day, month, year
См. также
|
[virtual] | извлекает месяц, день и год из входного потока (виртуальная защищенная функция-член) |
| определяет константы формата даты (класс) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/locale/time_get/date_order