Estoy tratando de convertir una hora (fecha + hora) de una zona horaria a otra. En la siguiente consulta, intento convertir un tiempo de EST ("America/New_York") a PST ("America/Los_Angeles"). La consulta está funcionando parcialmente; los resultados:Conversión de zonas horarias de Oracle (usando from_tz)
DATABASE_DATE = 2012-02-13 1:00:00 PM
LOCALTIME (what I get): 2012-02-12 10:00:00 AM.
Así que el tiempo es bueno, pero la fecha es incorrecta. Debería ser 2012-02-13 en lugar de 2012-02-12.
¿Estoy haciendo algo mal? Aquí está mi consulta:
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
Gracias
¿Intentó agregar "PM" a la cadena de formato? –
Sí, lo he intentado con "PM" y obtengo los mismos resultados. –
solo para estar seguro - DATABASE_DATE es una cadena, no una fecha, ¿verdad? porque, de lo contrario, lo convertirá de acuerdo con nls_timestamp_format, que podría ser 'YYYY-MM-DD HH24: MI: SS' –