Namespaces
Variants

std::time_get<CharT,InputIt>:: date_order, std::time_get<CharT,InputIt>:: do_date_order

From cppreference.net
Определено в заголовке <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]
извлекает месяц, день и год из входного потока
(виртуальная защищенная функция-член)
определяет константы формата даты
(класс)