<literal>ts</literal> points to.
</para>
</listitem>
</varlistentry>
<varlistentry id="pgtypestimestampfmtasc">
<term><function>PGTYPEStimestamp_fmt_asc</function></term>
<listitem>
<para>
Convert a timestamp variable to a C char* using a format mask.
<synopsis>
int PGTYPEStimestamp_fmt_asc(timestamp *ts, char *output, int str_len, char *fmtstr);
</synopsis>
The function receives a pointer to the timestamp to convert as its
first argument (<literal>ts</literal>), a pointer to the output buffer
(<literal>output</literal>), the maximal length that has been allocated for
the output buffer (<literal>str_len</literal>) and the format mask to
use for the conversion (<literal>fmtstr</literal>).
</para>
<para>
Upon success, the function returns 0 and a negative value if an
error occurred.
</para>
<para>
You can use the following format specifiers for the format mask. The
format specifiers are the same ones that are used in the
<function>strftime</function> function in <productname>libc</productname>. Any
non-format specifier will be copied into the output buffer.
<!-- This is from the FreeBSD man page:
http://www.freebsd.org/cgi/man.cgi?query=strftime&apropos=0&sektion=3&manpath=FreeBSD+7.0-current&format=html
-->
<itemizedlist>
<listitem>
<para>
<literal>%A</literal> - is replaced by national representation of
the full weekday name.
</para>
</listitem>
<listitem>
<para>
<literal>%a</literal> - is replaced by national representation of
the abbreviated weekday name.
</para>
</listitem>
<listitem>
<para>
<literal>%B</literal> - is replaced by national representation of
the full month name.
</para>
</listitem>
<listitem>
<para>
<literal>%b</literal> - is replaced by national representation of
the abbreviated month name.
</para>
</listitem>
<listitem>
<para>
<literal>%C</literal> - is replaced by (year / 100) as decimal
number; single digits are preceded by a zero.
</para>
</listitem>
<listitem>
<para>
<literal>%c</literal> - is replaced by national representation of
time and date.
</para>
</listitem>
<listitem>
<para>
<literal>%D</literal> - is equivalent to
<literal>%m/%d/%y</literal>.
</para>
</listitem>
<listitem>
<para>
<literal>%d</literal> - is replaced by the day of the month as a
decimal number (01–31).
</para>
</listitem>
<listitem>
<para>
<literal>%E*</literal> <literal>%O*</literal> - POSIX locale
extensions. The sequences
<literal>%Ec</literal>
<literal>%EC</literal>
<literal>%Ex</literal>
<literal>%EX</literal>
<literal>%Ey</literal>
<literal>%EY</literal>
<literal>%Od</literal>
<literal>%Oe</literal>
<literal>%OH</literal>
<literal>%OI</literal>
<literal>%Om</literal>
<literal>%OM</literal>
<literal>%OS</literal>
<literal>%Ou</literal>
<literal>%OU</literal>
<literal>%OV</literal>
<literal>%Ow</literal>
<literal>%OW</literal>
<literal>%Oy</literal>
are supposed to provide alternative representations.
</para>
<para>
Additionally <literal>%OB</literal> implemented to represent
alternative months names (used standalone, without day mentioned).