home | help
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

	If  a  std::time_get  specialization is not guaranteed to be provided by
     the standard
	library (see below), the behaviors of its member functions  (except  the
     constructor
	and destructor) are not guaranteed as specified.

Specializations
	The  standard library is guaranteed to provide the following specializa-
     tions (they
	are required to be implemented by any locale object):

	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

	In addition, the standard library is also guaranteed  to  provide  every
     specialization
	that satisfies the following type requirements:

	  * CharT is one of char and wchar_t, and
	  * InputIt must meet the requirements of LegacyInputIterator.

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  extracts 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,  ac-
     cording 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 <iomanip>
      #include <iostream>
      #include <locale>
      #include <sstream>

      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 std::tm for output as character sequence
		 (class template)
	get_time parses a date/time value of specified format
	(C++11)  (function template)

http://cppreference.com 	   2024.06.10			std::time_get(3)

home | help