GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::formatter,std::chrono::local_time_format(3) C++ Standard Libary std::formatter,std::chrono::local_time_format(3)

std::formatter,std::chrono::local_time_format - std::formatter,std::chrono::local_time_format


Defined in header <chrono>
template<class Duration, class CharT> (1)
struct formatter<std::chrono::local_time<Duration>, CharT>;
template<class Duration>


struct /*local-time-format-t*/ { // exposition only
std::chrono::local_time<Duration> time; // exposition only
const std::string* abbrev; // exposition only
const std::chrono::seconds* offset; // exposition only


};
template<class Duration> (2)


/*local-time-format-t*/<Duration>
local_time_format(const std::chrono::local_time<Duration>& tp,
const std::string* abbrev = nullptr,


const std::chrono::seconds* offset_sec = nullptr);
template<class Duration, class CharT>
struct formatter</*local-time-format-t*/<Duration>, CharT>;


Specialization of std::formatter that defines formatting rules for a
std::chrono::local_time.


1) If %Z, %z or a modified variant of %z is used, a std::format_error is thrown.
2) The local_time_format function returns a value of unspecified type that holds the
local time, offset, and time zone abbreviation.
When an object f of this unspecified type is formatted, if %Z is used, it is
replaced with *f.abbrev widened to CharT if f.abbrev is not null; otherwise a
std::format_error is thrown. If %z or a modified variant thereof is used, an offset
of *f.offset_sec will be formatted if f.offset_sec is not null; otherwise a
std::format_error is thrown.


std::formatter is usually not directly accessed, but is used through formatting
functions.


Format specification


The format specification has the form


fill-and-align(optional) width(optional) precision(optional) L(optional)
chrono-spec(optional)


fill-and-align, width, and precision have the same meaning as in standard format
specification. precision is valid only for std::chrono::duration types where the
representation type Rep is a floating-point type, otherwise std::format_error is
thrown.


The locale used for formatting is determined as follows:


* the default "C" locale if L is not present in the format specification,
* otherwise, the locale denoted by the std::locale passed to the formatting
function, if any,
* otherwise (L is present but no std::locale is passed to the formatting
function), the global locale.


The chrono-spec consists of one or more conversion specifiers and ordinary
characters (other than {, } and %). A chrono-spec must start with a conversion
specifier. All ordinary characters are written to the output without modification.
Each unmodified conversion specifier begins with a % character followed by a
character that determines the behavior of the specifier. Some conversion specifiers
have a modified form in which an E or O modifier character is inserted after the %
character. Each conversion specifier is replaced by appropriate characters in the
output as described below.


If the chrono-spec is empty, the chrono object is formatted as if by streaming it to
an object os of type std::stringstream with the formatting locale (one of
std::locale::classic(), the passed std::locale object, and std::locale::global())
imbued and copying os.str() to the output buffer with additional padding and
adjustments as per format specifiers.


The following format specifiers are available:


Conversion Explanation
specifier
%% Writes a literal % character.
%n Writes a newline character.
%t Writes a horizontal tab character.
Year
Writes the year divided by 100 using floored division. If the result is
%C a single decimal digit, it is prefixed with 0.
%EC
The modified command %EC writes the locale's alternative representation
of the century.
Writes the last two decimal digits of the year. If the result is a
single digit it is prefixed by 0.
%y
%Oy The modified command %Oy writes the locale's alternative representation.
%Ey
The modified command %Ey writes the locale's alternative representation
of offset from %EC (year only).
Writes the year as a decimal number. If the result is less than four
%Y digits it is left-padded with 0 to four digits.
%EY
The modified command %EY writes the locale's alternative full year
representation.
Month
%b Writes the locale's abbreviated month name.
%h
%B Writes the locale's full month name.
Writes the month as a decimal number (January is 01). If the result is a
%m single digit, it is prefixed with 0.
%Om
The modified command %Om writes the locale's alternative representation.
Day
Writes the day of month as a decimal number. If the result is a single
%d decimal digit, it is prefixed with 0.
%Od
The modified command %Od writes the locale's alternative representation.
Writes the day of month as a decimal number. If the result is a single
%e decimal digit, it is prefixed with a space.
%Oe
The modified command %Oe writes the locale's alternative representation.
Day of the week
%a Writes the locale's abbreviated weekday name.
%A Writes the locale's full weekday name.
%u Writes the ISO weekday as a decimal number (1-7), where Monday is 1.
%Ou
The modified command %Ou writes the locale's alternative representation.
%w Writes the weekday as a decimal number (0-6), where Sunday is 0.
%Ow
The modified command %Ow writes the locale's alternative representation.
ISO 8601 week-based year
In ISO 8601 weeks begin with Monday and the first week of the year must satisfy the
following requirements:


* Includes January 4
* Includes first Thursday of the year
%g Writes the last two decimal digits of the ISO 8601 week-based year. If
the result is a single digit it is prefixed by 0.
%G Writes the ISO 8601 week-based year as a decimal number. If the result
is less than four digits it is left-padded with 0 to four digits.
Writes the ISO 8601 week of the year as a decimal number. If the result
%V is a single digit, it is prefixed with 0.
%OV
The modified command %OV writes the locale's alternative representation.
Week/day of the year
Writes the day of the year as a decimal number (January 1 is 001). If
%j the result is less than three digits, it is left-padded with 0 to three
digits.
Writes the week number of the year as a decimal number. The first Sunday
of the year is the first day of week 01. Days of the same year prior to
%U that are in week 00. If the result is a single digit, it is prefixed
%OU with 0.


The modified command %OU writes the locale's alternative representation.
Writes the week number of the year as a decimal number. The first Monday
of the year is the first day of week 01. Days of the same year prior to
%W that are in week 00. If the result is a single digit, it is prefixed
%OW with 0.


The modified command %OW writes the locale's alternative representation.
Date
%D Equivalent to "%m/%d/%y".
%F Equivalent to "%Y-%m-%d".
Writes the locale's date representation.
%x
%Ex The modified command %Ex produces the locale's alternate date
representation.
Time of day
Writes the hour (24-hour clock) as a decimal number. If the result is a
%H single digit, it is prefixed with 0.
%OH
The modified command %OH writes the locale's alternative representation.
Writes the hour (12-hour clock) as a decimal number. If the result is a
%I single digit, it is prefixed with 0.
%OI
The modified command %OI writes the locale's alternative representation.
Writes the minute as a decimal number. If the result is a single digit,
%M it is prefixed with 0.
%OM
The modified command %OM writes the locale's alternative representation.
Writes the second as a decimal number. If the number of seconds is less
than 10, the result is prefixed with 0.


If the precision of the input cannot be exactly represented with
%S seconds, then the format is a decimal floating-point number with a fixed
%OS format and a precision matching that of the precision of the input (or
to a microseconds precision if the conversion to floating-point decimal
seconds cannot be made within 18 fractional digits). The character for
the decimal point is localized according to the locale.


The modified command %OS writes the locale's alternative representation.
%p Writes the locale's equivalent of the AM/PM designations associated with
a 12-hour clock.
%R Equivalent to "%H:%M".
%T Equivalent to "%H:%M:%S".
%r Writes the locale's 12-hour clock time.
Writes the locale's time representation.
%X
%EX The modified command %EX writes the locale's alternate time
representation.
Time zone
Writes the offset from UTC in the ISO 8601 format. For example -0430
%z refers to 4 hours 30 minutes behind UTC. If the offset is zero, +0000 is
%Ez used.
%Oz
The modified commands %Ez and %Oz insert a : between the hours and
minutes (e.g., -04:30).
%Z Writes the time zone abbreviation.


Writes the locale's date and time representation.
%c
%Ec The modified command %Ec writes the locale's alternative date and time
representation.


The following specifiers are recognized, but will cause std::format_error to be
thrown:


Conversion Explanation
specifier
Duration count
%Q Writes the count of ticks of the duration, i.e. the value obtained via
count().
%q Writes the unit suffix of the duration, as specified in operator<<().


This section is incomplete
Reason: no example


format stores formatted representation of the arguments in a new string
(C++20) (function template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.