Postgres doit avoir des tables d'information internes pour le décodage des zones horaires, comme il n'y a pas de standard *nix pour ce type d'information. Le système d'exploitation est utilisé pour fournir l'information sur la zone horaire à output.
Tableau UG1-1. Postgres Recognized Time Zones
Time Zone | Offset from UTC | Description |
---|---|---|
NZDT | +13:00 | New Zealand Daylight Time |
IDLE | +12:00 | International Date Line, East |
NZST | +12:00 | New Zealand Std Time |
NZT | +12:00 | New Zealand Time |
AESST | +11:00 | Australia Eastern Summer Std Time |
ACSST | +10:30 | Central Australia Summer Std Time |
CADT | +10:30 | Central Australia Daylight Savings Time |
SADT | +10:30 | South Australian Daylight Time |
AEST | +10:00 | Australia Eastern Std Time |
EAST | +10:00 | East Australian Std Time |
GST | +10:00 | Guam Std Time, USSR Zone 9 |
LIGT | +10:00 | Melbourne, Australia |
ACST | +09:30 | Central Australia Std Time |
CAST | +09:30 | Central Australia Std Time |
SAT | +9:30 | South Australian Std Time |
AWSST | +9:00 | Australia Western Summer Std Time |
JST | +9:00 | Japan Std Time,USSR Zone 8 |
KST | +9:00 | Korea Standard Time |
WDT | +9:00 | West Australian Daylight Time |
MT | +8:30 | Moluccas Time |
AWST | +8:00 | Australia Western Std Time |
CCT | +8:00 | China Coastal Time |
WADT | +8:00 | West Australian Daylight Time |
WST | +8:00 | West Australian Std Time |
JT | +7:30 | Java Time |
WAST | +7:00 | West Australian Std Time |
IT | +3:30 | Iran Time |
BT | +3:00 | Baghdad Time |
EETDST | +3:00 | Eastern Europe Daylight Savings Time |
CETDST | +2:00 | Central European Daylight Savings Time |
EET | +2:00 | Eastern Europe, USSR Zone 1 |
FWT | +2:00 | French Winter Time |
IST | +2:00 | Israel Std Time |
MEST | +2:00 | Middle Europe Summer Time |
METDST | +2:00 | Middle Europe Daylight Time |
SST | +2:00 | Swedish Summer Time |
BST | +1:00 | British Summer Time |
CET | +1:00 | Central European Time |
DNT | +1:00 | Dansk Normal Tid |
DST | +1:00 | Dansk Standard Time (?) |
FST | +1:00 | French Summer Time |
MET | +1:00 | Middle Europe Time |
MEWT | +1:00 | Middle Europe Winter Time |
MEZ | +1:00 | Middle Europe Zone |
NOR | +1:00 | Norway Standard Time |
SET | +1:00 | Seychelles Time |
SWT | +1:00 | Swedish Winter Time |
WETDST | +1:00 | Western Europe Daylight Savings Time |
GMT | 0:00 | Greenwish Mean Time |
WET | 0:00 | Western Europe |
WAT | -1:00 | West Africa Time |
NDT | -2:30 | Newfoundland Daylight Time |
ADT | -03:00 | Atlantic Daylight Time |
NFT | -3:30 | Newfoundland Standard Time |
NST | -3:30 | Newfoundland Standard Time |
AST | -4:00 | Atlantic Std Time (Canada) |
EDT | -4:00 | Eastern Daylight Time |
ZP4 | -4:00 | GMT +4 hours |
CDT | -5:00 | Central Daylight Time |
EST | -5:00 | Eastern Standard Time |
ZP5 | -5:00 | GMT +5 hours |
CST | -6:00 | Central Std Time |
MDT | -6:00 | Mountain Daylight Time |
ZP6 | -6:00 | GMT +6 hours |
MST | -7:00 | Mountain Standard Time |
PDT | -7:00 | Pacific Daylight Time |
PST | -8:00 | Pacific Std Time |
YDT | -8:00 | Yukon Daylight Time |
HDT | -9:00 | Hawaii/Alaska Daylight Time |
YST | -9:00 | Yukon Standard Time |
AHST | -10:00 | Alaska-Hawaii Std Time |
CAT | -10:00 | Central Alaska Time |
NT | -11:00 | Nome Time |
IDLW | -12:00 | International Date Line, West |
Si l'option de compilation USE_AUSTRALIAN_RULES est placée EST se référera au Australia Eastern Std Time, qui a un décalage de +10:00 heures sur le GMT. |
Les zones horaires australiennes et leurs différentes variantes comptent pour un quart de la table des zones horaires de Postgres.
Date/Time Input Interpretation
Les types date/time types sont décodés en utilisant un ensemble de routines communes.
Segmente la chaîne entrée en signes et catégorise chaque signe comme chaîne, heure, zone horaire ou nombre.
Si le signe contient deux points (":"), c'est une chaîne time.
Si le signe contient un tiret ("-"), un slash ("/"), ou un point ("."), c'est une chaîne date qui peut avoir un mois texte.
Si le signe est uniquement numérique, il est soit un champ unique, soit une date ISO-8601 concatenée (e.x. "19990113" pour Janvier 13, 1999) ou une heure (e.x. 141516 pour 14:15:16).
Si le signe démarre avec un plus ("+") ou un moins ("-"), c'est soit une zone horaire soit un champ spécial.
Si le signe est une chaîne texte, s'harmonise avec des chaînes possibles.
Fait une consultation de table de recherche binaire comme une ou l'autre chaîne spéciale (e.x. today), un jour (e.x. Thursday), un mois (e.x. January), ou un (bruit) (e.x. on).
Positionner les valeurs des champs et les masques binaires pour les champs. Par exemple, placer année, mois et jour à today, et heure, minute, seconde à now.
Si non trouvé, faire une consultation de table de recherche binaire semblable pour correspondre au signe avec un fuseau horaire.
Si non trouvé, indique une erreur.
Le signe est un nombre ou un champ numérique.
S'il y a plus de quatre décimales, et si aucun autre champ date n'a été lu précédemment, interprète comme une "date concaténée" (e.x. 19990118). 8 et 6 décimales sont interprétées comme année, mois et jour, tandis que 7 et 5 décimales sont interprétées comme année, jour de l'année.
Si le signe est de trois décimales et qu'une année a déja été cécodée, l'interprétation sera le jour de l'année.
Si pas plus de deux décimales, interprété comme une année.
Si dans le mode date européen, et si le champ jour n'a pas encore été lu, et si la valeur est inférieure ou égale à 31, sera interprété comme jour.
En mode date non-européen (US), et si le champ mois n'a pas encore été lu, et si la valeur est inférieure ou égale à 12, sera interprété comme un mois.
Si le champ jour n'a pas encore été lu, et si la valeur est inférieure ou égale à 31, sera interprété comme un mois.
Si le champ mois n'a pas encore été lu, et si la valeur est inférieure ou égale à 12, sera interprété comme un mois.
Autrement, sera interprété comme une année.
Si BC (avant J.C) a été spécifié, nie l'année et compense par 1 (il n'y a pas d'année zéro dans le calandrier grégorien, ainsi numériquement 1BC devient l'année zéro).
Si BC n'est pas spécifié, et si le champ année a deux décimales de longueur, alors ajuste l'année sur 4 décimales. Si le champ est inférieur à 70 ajoute 2000, dans les autres cas, ajoute 1900.
Les années grégoriennes 1-99 après J.C peuvent être entrées en utilisant 4 décimales débutant par des zéros (e.x. 0099 équivaut à 99 après J.C). Trois décimales sont aussi acceptées la plupart du temps, quoique selon sa position la chaîne numérique peut être interprétée comme jour aussi. |