PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment convertir l'heure à ce jour dans le fuseau horaire local lors de la requête

Enfin réussi à le faire fonctionner ! Pas très joli (et j'espère qu'il y a une solution plus propre) mais cela a fonctionné :

>> Payment.all(:conditions => 
              ["Date((payments.created_at at time zone 'UTC') 
                at time zone :timezone) >= :start_date and 
                Date((payments.created_at at time zone 'UTC') 
                at time zone :timezone) <= :end_date",
               :start_date => start_date, :end_date => end_date, 
               :timezone => 'Asia/Katmandu'])

Cependant, je n'aime pas vraiment avoir à faire ça :

Date((payments.created_at at time zone 'UTC') at time zone 'Asia/Katmandu')

Comment se fait-il que postgresql ne vous permette pas de faire cela ?

Date(payments.created_at at 'Asia/Katmandu')