Преобразование часовых поясов Oracle (с использованием from_tz)

Я пытаюсь преобразовать время (дата + время) из одного часового пояса в другой. В запросе ниже я пытаюсь преобразовать время из EST («Америка / Нью-Йорк») в PST («Америка / Лос-Анджелес»). Запрос частично рабочий; результаты:

DATABASE_DATE = 2012-02-13 1:00:00 PM  
LOCALTIME (what I get): 2012-02-12 10:00:00 AM.

Итак, время хорошее, но дата неправильная. Это должно быть 2012-02-13 вместо 2012-02-12.

Я что-то не так делаю? Вот мой вопрос:

select to_date( to_char( ( from_tz( to_timestamp( DATABASE_DATE
                                                 , 'YYYY-MM-DD HH:MI:SS')
                                   ,'America/New_York')
                          at time zone 'America/Los_Angeles')
                       ,'YYYY-MM-DD HH:MI:SS')
               ,'YYYY-MM-DD HH:MI:SS') as localtime
 from table

Спасибо

7
задан Ben 13 February 2012 в 19:07
поделиться