L'obtention de date avec le décalage horaire
Je suis en train d'extraire la date à partir d'une requête dans postgres. L'horodatage est stocké comme UTC, donc, si j'ai 1/1/2014 02:00:00, je veux la date, heure du pacifique, à 12/31/2013, pas 1/1/2014. Je suis très proche, mais la requête 2 et 3 encore de retour 1/1/2014.
SELECT '1-1-2014 02:00:00'::timestamp at time zone 'America/Los_Angeles';
retourne
2014-01-01 02:00:00-08
-
SELECT CAST('1-1-2014 02:00:00'::timestamp at time zone 'America/Los_Angeles' AS Date);
retourne
2014-01-01
mais je veux qu'il revienne 2013-12-31
.
SELECT CAST('1-1-2014 00:02:00'::timestamp at time zone 'America/Los_Angeles' AS Date) at time zone 'America/Los_Angeles';
retourne
2014-01-01 00:00:00
mais je veux qu'il revienne 2013-12-31 00:00:00
En gros, je veux retourner la date dans le fuseau horaire il est, dans ce cas, le fuseau horaire du pacifique.
OriginalL'auteur WallMobile | 2014-04-10
Vous devez vous connecter pour publier un commentaire.
Si c'est le timestamp sans fuseau horaire, vous devez tout d'abord à dire qu'elle utilise le fuseau horaire UTC et ensuite de les convertir à un autre fuseau horaire:
OriginalL'auteur Clodoaldo Neto
Si
'America/Los_Angeles'
est votre fuseau horaire actuel (timezone
réglage de la session en cours) puis dites-Postgres le fuseau horaire de latimestamp
.Le casting de
date
est basée sur le fuseau horaire actuel et fonctionne automatiquement comme souhaité.Si le fuseau horaire actuel peut être autre chose, vous avez besoin d'être explicite comme @Clodoaldo montre.
La bonne solution serait de stocker un
timestamp with time zone
(timestamptz
) pour commencer, puis vous pouvez les jeter àdate
:Sur les horodateurs dans Postgres:
Récentes répondre avec plus de détails (qui traite aussi des indices):
OriginalL'auteur Erwin Brandstetter
J'ai pensé à elle, à l'aide de l'intervalle, je peux soustraire le décalage et ensuite obtenir la date.
L'ajout de la réponse ici, car je suis sûr que cette question est peut-être quelque chose que les autres veulent en savoir plus.
OriginalL'auteur WallMobile