📄 datetime.sgml
字号:
<row> <entry>ADT</entry> <entry>-03:00 </entry> <entry>Atlantic Daylight Time</entry> </row> <row> <entry>NFT</entry> <entry>-3:30</entry> <entry>Newfoundland Standard Time</entry> </row> <row> <entry>NST</entry> <entry>-3:30</entry> <entry>Newfoundland Standard Time</entry> </row> <row> <entry>AST</entry> <entry>-4:00 </entry> <entry>Atlantic Std Time (Canada)</entry> </row> <row> <entry>EDT</entry> <entry>-4:00 </entry> <entry>Eastern Daylight Time</entry> </row> <row> <entry>ZP4</entry> <entry>-4:00</entry> <entry>GMT +4 hours</entry> </row> <row> <entry>CDT</entry> <entry>-5:00 </entry> <entry>Central Daylight Time</entry> </row> <row> <entry>EST</entry> <entry>-5:00 </entry> <entry>Eastern Standard Time</entry> </row> <row> <entry>ZP5</entry> <entry>-5:00</entry> <entry>GMT +5 hours</entry> </row> <row> <entry>CST</entry> <entry>-6:00 </entry> <entry>Central Std Time</entry> </row> <row> <entry>MDT</entry> <entry>-6:00</entry> <entry>Mountain Daylight Time</entry> </row> <row> <entry>ZP6</entry> <entry>-6:00</entry> <entry>GMT +6 hours</entry> </row> <row> <entry>MST</entry> <entry>-7:00</entry> <entry>Mountain Standard Time</entry> </row> <row> <entry>PDT</entry> <entry>-7:00</entry> <entry>Pacific Daylight Time</entry> </row> <row> <entry>PST</entry> <entry>-8:00</entry> <entry>Pacific Std Time</entry> </row> <row> <entry>YDT</entry> <entry>-8:00</entry> <entry>Yukon Daylight Time</entry> </row> <row> <entry>HDT</entry> <entry>-9:00</entry> <entry>Hawaii/Alaska Daylight Time</entry> </row> <row> <entry>YST</entry> <entry>-9:00</entry> <entry>Yukon Standard Time</entry> </row> <row> <entry>AHST</entry> <entry>-10:00 </entry> <entry>Alaska-Hawaii Std Time</entry> </row> <row> <entry>CAT</entry> <entry>-10:00 </entry> <entry>Central Alaska Time</entry> </row> <row> <entry>NT</entry> <entry>-11:00</entry> <entry>Nome Time</entry> </row> <row> <entry>IDLW</entry> <entry>-12:00</entry> <entry>International Date Line, West</entry> </row> </tbody> </tgroup> </table> <note> <para> If the compiler option USE_AUSTRALIAN_RULES is set then <literal>EST</literal> refers to Australia Eastern Std Time, which has an offset of +10:00 hours from UTC. </para> </note> </para> <para> Australian time zones and their naming variants account for fully one quarter of all time zones in the <productname>Postgres</productname> time zone lookup table. </para> <procedure> <title>Date/Time Input Interpretation</title> <para> The date/time types are all decoded using a common set of routines. </para> <step> <para> Break the input string into tokens and categorize each token as a string, time, time zone, or number. </para> <substeps> <step> <para> If the token contains a colon (":"), this is a time string. </para> </step> <step> <para> If the token contains a dash ("-"), slash ("/"), or dot ("."), this is a date string which may have a text month. </para> </step> <step> <para> If the token is numeric only, then it is either a single field or an ISO-8601 concatenated date (e.g. "19990113" for January 13, 1999) or time (e.g. 141516 for 14:15:16). </para> </step> <step> <para> If the token starts with a plus ("+") or minus ("-"), then it is either a time zone or a special field. </para> </step> </substeps> </step> <step> <para> If the token is a text string, match up with possible strings. </para> <substeps> <step> <para> Do a binary-search table lookup for the token as either a special string (e.g. <literal>today</literal>), day (e.g. <literal>Thursday</literal>), month (e.g. <literal>January</literal>), or noise word (e.g. <literal>on</literal>). </para> <para> Set field values and bit mask for fields. For example, set year, month, day for <literal>today</literal>, and additionally hour, minute, second for <literal>now</literal>. </para> </step> <step> <para> If not found, do a similar binary-search table lookup to match the token with a time zone. </para> </step> <step> <para> If not found, throw an error. </para> </step> </substeps> </step> <step> <para> The token is a number or number field. </para> <substeps> <step> <para> If there are more than 4 digits, and if no other date fields have been previously read, then interpret as a "concatenated date" (e.g. <literal>19990118</literal>). 8 and 6 digits are interpreted as year, month, and day, while 7 and 5 digits are interpreted as year, day of year. </para> </step> <step> <para> If the token is three digits and a year has already been decoded, then interpret as day of year. </para> </step> <step> <para> If longer than two digits, then interpret as a year. </para> </step> <step> <para> If in European date mode, and if the day field has not yet been read, and if the value is less than or equal to 31, then interpret as a day. </para> </step> <step> <para> If in non-European (US) date mode, and if the month field has not yet been read, and if the value is less than or equal to 12, then interpret as a month. </para> </step> <step> <para> If the day field has not yet been read, and if the value is less than or equal to 31, then interpret as a month. </para> </step> <step> <para> If the month field has not yet been read, and if the value is less than or equal to 12, then interpret as a month. </para> </step> <step> <para> Otherwise, interpret as a year. </para> </step> </substeps> </step> <step> <para> If BC has been specified, negate the year and offset by one for internal storage (there is no year zero in the Gregorian calendar, so numerically 1BC becomes year zero). </para> </step> <step> <para> If BC was not specified, and if the year field was two digits in length, then adjust the year to 4 digits. If the field was less than 70, then add 2000; otherwise, add 1900. <tip> <para> Gregorian years 1-99AD may be entered by using 4 digits with leading zeros (e.g. 0099 is 99AD). Three digits are also accepted as a year under most circumstances, though depending on position the numeric string may be interpreted as doy instead. </para> </tip> </para> </step> </procedure> </sect1> <sect1> <title>History</title> <note> <para> Contributed by <ulink url="jose@sferacarta.com">Jos
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -