std::time_get(3) | C++ Standard Libary | std::time_get(3) |
NAME¶
std::time_get - std::time_get
Synopsis¶
Defined in header <locale>
template<
class CharT,
class InputIt = std::istreambuf_iterator<CharT>
> class time_get;
Class template std::time_get encapsulates date and time parsing rules. The
I/O
manipulator std::get_time uses the std::time_get facet of the I/O stream's
locale to
convert text input to a std::tm object.
std-time get-inheritance.svg
Inheritance diagram
Type requirements¶
-
InputIt must meet the requirements of LegacyInputIterator.
Specializations¶
Two standalone (locale-independent) full specializations and two
partial
specializations are provided by the standard library:
Defined in header <locale>
std::time_get<char> parses narrow string representations of date and
time
std::time_get<wchar_t> parses wide string representations of date and
time
std::time_get<char, InputIt> parses narrow string representations of
date and
time using custom input iterator
std::time_get<wchar_t, InputIt> parses wide string representations of
date and time
using custom input iterator
In addition, every locale object constructed in a C++ program implements its
own
(locale-specific) versions of these specializations.
Member types¶
Member type Definition
char_type CharT
iter_type InputIt
Member functions¶
constructor constructs a new time_get facet
(public member function)
destructor destructs a time_get facet
(protected member function)
date_order invokes do_date_order
(public member function)
get_time invokes do_get_time
(public member function)
get_date invokes do_get_date
(public member function)
get_weekday invokes do_get_weekday
(public member function)
get_monthname invokes do_get_monthname
(public member function)
get_year invokes do_get_year
(public member function)
get invokes do_get
(C++11) (public member function)
Member objects¶
static std::locale::id id id of the locale
(public member object)
Protected member functions¶
do_date_order obtains preferred ordering of day, month, and year
[virtual] (virtual protected member function)
do_get_time extracts hours, minutes, and seconds from input stream
[virtual] (virtual protected member function)
do_get_date extracts month, day, and year from input stream
[virtual] (virtual protected member function)
do_get_weekday extracts the name of a day of the week from input stream
[virtual] (virtual protected member function)
do_get_monthname extacts a month name from input stream
[virtual] (virtual protected member function)
do_get_year extracts a year from input stream
[virtual] (virtual protected member function)
do_get extracts date/time components from input stream, according to the
[virtual] (C++11) specified format
(virtual protected member function)
Inherited from std::time_base
Type Definition
dateorder date order enumeration type, defining the values no_order, dmy,
mdy, ymd,
and ydm
Example¶
note: choose clang to observe the output. libstdc++ does not
correctly implement the
%b specifier: bug 78714
// Run this code
#include <iostream>
#include <sstream>
#include <locale>
#include <iomanip>
int main()
{
std::tm t = {};
std::istringstream ss("2011-Februar-18 23:12:34");
ss.imbue(std::locale("de_DE.utf-8"));
ss >> std::get_time(&t, "%Y-%b-%d %H:%M:%S");
if (ss.fail()) {
std::cout << "Parse failed\n";
} else {
std::cout << std::put_time(&t, "%c") << '\n';
}
}
Possible output:¶
Sun Feb 18 23:12:34 2011
See also¶
time_put formats contents of struct std::tm for output as
character sequence
(class template)
get_time parses a date/time value of specified format
(C++11) (function template)
2022.07.31 | http://cppreference.com |