class template
<locale>
std::time_get
template <class charT, class InputIterator = istreambuf_iterator<charT> >
  class time_get;
Facet to parse dates and times
The time_get standard facet parses sequences of characters to read date and time information and stores it into a tm structure.
The time_get class template has a protected destructor: Programs shall only construct objects of derived classes, or use those installed in locale objects (through use_facet).
All standard locale objects support at least the following facet instantiations of the time_get class template (as part of the time category):
| facets in locale objects | notes | 
|---|
| time_get<char> | narrow characters, for use with istream iterators | 
| time_get<wchar_t> | wide characters, for use with wistream iterators | 
Template parameters
- charT
- Character type: the type of the characters in the sequence to interpret.
 Aliased as member char_type.
 
- InputIterator
- Input iterator type that points to the elements in the character sequence to interpret.
 Defaults to istreambuf_iterator, which is an iterator that can be implicitly converted from basic_istream objects.
 Aliased as member iter_type.
 
Member types
| member type | definition | description | 
|---|
| char_type | The first template parameter (charT) | Character type | 
| iter_type | The second template parameter (InputIterator) | Iterator type. Defaults to
 istreambuf_iterator<charT> | 
The class also inherits time_base::dateorder, which is used as the return type for member date_order.
Member constants
The following member constants are inherited from time_base (as labels of enum type time_base::dateorder); They are used as return values by certain member functions.
| member constant | type | value | description | 
|---|
| no_order | time_base::dateorder | 0 | No specific order, or format contains variable components other than day, month and year. | 
| dmy | time_base::dateorder | 1 | day, month, year | 
| mdy | time_base::dateorder | 2 | month, day, year | 
| ymd | time_base::dateorder | 3 | year, month, day | 
| ydm | time_base::dateorder | 4 | year, day, month | 
The class also contains a public static constant of type locale::id, that uniquely identifies facets with time_get semantics.
Public member functions
- (constructor)
- time_get constructor (public member function
)
- date_order
- Return date order (public member function
)
- get_time
- Read time (public member function
)
- get_date
- Read date (public member function
)
- get_weekday
- Read weekday (public member function
)
- get_monthname
- Read month name (public member function
)
- get_year
- Read year (public member function
)
- get 
- Read time and date (public member function
)
Virtual protected member functions
The class defines the virtual protected members which implement the behavior by default of their respective public member functions:
- do_date_order
- Return date order [virtual] (protected virtual member function
)
- do_get_time
- Read time [virtual] (protected virtual member function
)
- do_get_date
- Read date [virtual] (protected virtual member function
)
- do_get_weekday
- Read weekday [virtual] (protected virtual member function
)
- do_get_monthname
- Read month name [virtual] (protected virtual member function
)
- do_get_year
- Read year [virtual] (protected virtual member function
)
- do_get 
- Read time and date [virtual] (protected virtual member function
)
Along with the class destructor:
- (destructor)
- time_get destructor (protected member function
)
Specializations
At least the following specializations and partial specializations of this template are provided in all library implementations:
| specialization | 
|---|
| time_get<char> | 
| time_get<wchar_t> | 
| template <class InputIterator> time_get<char,InputIterator> | 
| template <class InputIterator> time_get<wchar_t,InputIterator> | 
Where InputIterator shall be a type that satisfies the requirements of an input iterator able to iterate over elements of the specified character type.