std::time_get<CharT,InputIt>::date_order, std::time_get<CharT,InputIt>::do_date_order
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Text processing library
Regular expressions library (C++11)
Formatting library (C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
Localization library
(C++11/17/26*)
(C++11/17/26*)
(C++11/17/26*)
(C++11/17/26*)
(C++11/17/26*)
(C++11/17/26*)
std::time_get
Member functions
time_get::date_ordertime_get::do_date_order
Defined in header
<locale>
public:
dateorder date_order() const;
(1)
dateorder date_order() const;
protected:
virtual dateorder do_date_order() const;
(2)
virtual dateorder do_date_order() const;
1) Public member function, calls the protected virtual member function
do_date_order
of the most derived class.2) Returns a value of type std::time_base::dateorder , which describes the default date format used by this locale (expected by get_date() and produced by std::strftime() with format specifier '%x').
The valid values (inherited from std::time_base ) are:
no_order
the format contains variable items (week day, Julian day, etc), or this function is not implemented
dmy
day, month, year (European locales)
mdy
month, day, year (American locales)
ymd
year, month, day (Asian locales)
ydm
year, day, month (rare)
Contents
[edit] Return value
A value of type dateorder
.
[edit] Notes
This function is optional, it may return no_order
in every case.
[edit] Example
The output below was obtained using clang (libc++).
Run this code
#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(); }
Possible output:
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
[edit] See also
[virtual]
(virtual protected member function) [edit]