<row>
<entry>Style Specification</entry>
<entry>Description</entry>
<entry>Example</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>ISO</literal></entry>
<entry>ISO 8601, SQL standard</entry>
<entry><literal>1997-12-17 07:37:16-08</literal></entry>
</row>
<row>
<entry><literal>SQL</literal></entry>
<entry>traditional style</entry>
<entry><literal>12/17/1997 07:37:16.00 PST</literal></entry>
</row>
<row>
<entry><literal>Postgres</literal></entry>
<entry>original style</entry>
<entry><literal>Wed Dec 17 07:37:16 1997 PST</literal></entry>
</row>
<row>
<entry><literal>German</literal></entry>
<entry>regional style</entry>
<entry><literal>17.12.1997 07:37:16.00 PST</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<para>
ISO 8601 specifies the use of uppercase letter <literal>T</literal> to separate
the date and time. <productname>PostgreSQL</productname> accepts that format on
input, but on output it uses a space rather than <literal>T</literal>, as shown
above. This is for readability and for consistency with
<ulink url="https://datatracker.ietf.org/doc/html/rfc3339">RFC 3339</ulink> as
well as some other database systems.
</para>
</note>
<para>
In the <acronym>SQL</acronym> and POSTGRES styles, day appears before
month if DMY field ordering has been specified, otherwise month appears
before day.
(See <xref linkend="datatype-datetime-input"/>
for how this setting also affects interpretation of input values.)
<xref linkend="datatype-datetime-output2-table"/> shows examples.
</para>
<table id="datatype-datetime-output2-table">
<title>Date Order Conventions</title>
<tgroup cols="3">
<colspec colname="col1" colwidth="1*"/>
<colspec colname="col2" colwidth="1*"/>
<colspec colname="col3" colwidth="2*"/>
<thead>
<row>
<entry><varname>datestyle</varname> Setting</entry>
<entry>Input Ordering</entry>
<entry>Example Output</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>SQL, DMY</literal></entry>
<entry><replaceable>day</replaceable>/<replaceable>month</replaceable>/<replaceable>year</replaceable></entry>
<entry><literal>17/12/1997 15:37:16.00 CET</literal></entry>
</row>
<row>
<entry><literal>SQL, MDY</literal></entry>
<entry><replaceable>month</replaceable>/<replaceable>day</replaceable>/<replaceable>year</replaceable></entry>
<entry><literal>12/17/1997 07:37:16.00 PST</literal></entry>
</row>
<row>
<entry><literal>Postgres, DMY</literal></entry>
<entry><replaceable>day</replaceable>/<replaceable>month</replaceable>/<replaceable>year</replaceable></entry>
<entry><literal>Wed 17 Dec 07:37:16 1997 PST</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<para>
In the <acronym>ISO</acronym> style, the time zone is always shown as
a signed numeric offset from UTC, with positive sign used for zones
east of Greenwich. The offset will be shown
as <replaceable>hh</replaceable> (hours only) if it is an integral
number of hours, else
as <replaceable>hh</replaceable>:<replaceable>mm</replaceable> if it
is an integral number of minutes, else as
<replaceable>hh</replaceable>:<replaceable>mm</replaceable>:<replaceable>ss</replaceable>.
(The third case is not possible with any modern time zone standard,
but it can appear when working with timestamps that predate the
adoption of standardized time zones.)
In the other date styles, the time zone is shown as an alphabetic
abbreviation if