Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | locale‎ | time get
 
 
 
 
 
Definiert in Header <locale>
public:
dateorder date_order() const;
(1)
protected:
virtual dateorder do_date_order() const;
(2)
1) Öffentliche Member-Funktion, ruft die geschützte virtuelle Member-Funktion do_date_order der am weitesten abgeleiteten Klasse auf.
2) Gibt einen Wert vom Typ std::time_base::dateorder zurück, der das Standarddatumsformat beschreibt, das von dieser Locale verwendet wird (erwartet von get_date() und erzeugt von std::strftime() mit dem Format-Spezifizierer '%x').

Die gültigen Werte (geerbt von std::time_base) sind

no_order das Format enthält variable Elemente (Wochentag, Jultag usw.) oder diese Funktion ist nicht implementiert
dmy Tag, Monat, Jahr (europäische Locales)
mdy Monat, Tag, Jahr (amerikanische Locales)
ymd Jahr, Monat, Tag (asiatische Locales)
ydm Jahr, Tag, Monat (selten)

Inhalt

[bearbeiten] Rückgabewert

Ein Wert vom Typ dateorder.

[bearbeiten] Hinweise

Diese Funktion ist optional, sie kann in jedem Fall no_order zurückgeben.

[bearbeiten] Beispiel

Die unten stehende Ausgabe wurde mit clang (libc++) erhalten.

#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();
}

Mögliche Ausgabe

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

[bearbeiten] Siehe auch

[virtuell]
extrahiert Monat, Tag und Jahr aus einem Eingabestrom
(virtuelle geschützte Member-Funktion) [bearbeiten]
definiert Datumsformatkonstanten
(Klasse) [bearbeiten]