The time_put facet format details are described in the listing Format/Parsing Table .
namespace std { template <class charT, class OutputIterator = ostreambuf_iterator<charT> > class time_put : public locale::facet { public: typedef charT char_type; typedef OutputIterator iter_type; explicit time_put(size_t refs = 0); iter_type put(iter_type out, ios_base& str, char_type fill, const tm* tmb, const charT* pattern, const charT* pat_end) const; iter_type put(iter_type out, ios_base& str, char_type fill, const tm* tmb, char format, char modifier = 0) const; static locale::id id; protected: virtual ~time_put(); virtual iter_type do_put(iter_type out, ios_base& str, char_type fill, const tm* tmb, char format, char modifier) const; }; }