Namespaces
Variants

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

From cppreference.net
Défini dans l'en-tête <locale>
public :
dateorder date_order ( ) const ;
(1)
protected :
virtual dateorder do_date_order ( ) const ;
(2)
1) Fonction membre publique, appelle la fonction membre virtuelle protégée do_date_order de la classe la plus dérivée.
2) Retourne une valeur de type std::time_base::dateorder , qui décrit le format de date par défaut utilisé par cette locale (attendu par get_date() et produit par std::strftime() avec le spécificateur de format '%x' ).

Les valeurs valides (héritées de std::time_base ) sont :

no_order le format contient des éléments variables (jour de la semaine, jour julien, etc), ou cette fonction n'est pas implémentée
dmy jour, mois, année (locales européennes)
mdy mois, jour, année (locales américaines)
ymd année, mois, jour (locales asiatiques)
ydm année, jour, mois (rare)

Table des matières

Valeur de retour

Une valeur de type dateorder .

Notes

Cette fonction est facultative, elle peut retourner no_order dans tous les cas.

Exemple

La sortie ci-dessous a été obtenue en utilisant 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();
}

Sortie possible :

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

Voir aussi

[virtual]
extrait le mois, le jour et l'année du flux d'entrée
(fonction membre protégée virtuelle)
définit les constantes de format de date
(classe)