home | help
std::time_put(3)	       C++ Standard Libary		std::time_put(3)

NAME
     std::time_put - std::time_put

Synopsis
	Defined in header <locale>
	template<

	    class CharT,
	    class OutputIt = std::ostreambuf_iterator<CharT>

	> class time_put;

	Class  template  std::time_put	encapsulates  date  and  time formatting
     rules. The I/O
	manipulator std::put_time  uses  the  std::time_put  facet  of	the  I/O
     stream's locale to
	generate text representation of an std::tm object.

	std-time put-inheritance.svg

					Inheritance diagram

	If  a  std::time_put  specialization is not guaranteed to be provided by
     the standard
	library (see below), the behaviors of its put()  and  do_put()	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_put<char>    creates narrow string representations of date and
     time
	std::time_put<wchar_t> creates 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
	  * OutputIt must meet the requirements of LegacyOutputIterator.

Member types
	Member type Definition
	char_type   CharT
	iter_type   OutputIt

Member functions
	constructor   constructs a new time_put facet
		      (public member function)
	destructor    destructs a time_put facet
		      (protected member function)
	put	      invokes do_put
		      (public member function)

Member objects
	static std::locale::id id id of the locale
				  (public member object)

Protected member functions
	do_put	  formats date/time and writes to output stream
	[virtual] (virtual protected member function)

Example
     // Run this code

      #include <codecvt>
      #include <ctime>
      #include <iomanip>
      #include <iostream>

      int main()
      {
	  std::time_t t = std::time(nullptr);
	  std::wbuffer_convert<std::codecvt_utf8<wchar_t>>    conv(std::cout.rd-
     buf());
	  std::wostream out(&conv);
	  out.imbue(std::locale("ja_JP.utf8"));

	  // this I/O manipulator std::put_time uses std::time_put<wchar_t>
	  out << std::put_time(std::localtime(&t), L"%A %c") << '\n';
      }

Output:
      ae<degree>'aeaeY 2011a^1'11ae09aeY 12ae32a05c<section>

See also
	time_put_byname  represents  the  system-supplied  std::time_put for the
     named locale
			(class template)
			parses time/date values from an input character sequence
     into
	time_get	std::tm
			(class template)
	put_time	formats and outputs a date/time value according  to  the
     specified
	(C++11) 	format
			(function template)

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

home | help