Función NEW_TIME en Oracle

La función NEW_TIME en Oracle es ideal para transformar una fecha de una zona horaria a otra de manera sencilla y eficiente. Esta función es especialmente útil en aplicaciones globales donde los usuarios operan en distintos husos horarios y se necesita calcular o mostrar fechas ajustadas al contexto de cada región.

La función NEW_TIME toma como entrada una fecha en formato DATE junto con dos abreviaturas de zonas horarias. Estas pueden representar tanto estándares como el horario de verano de ciertas regiones (por ejemplo, ‘PST’ para Hora Estándar del Pacífico o ‘EST’ para Hora Estándar del Este). Como resultado, devuelve la fecha convertida al huso horario deseado, facilitando tareas como la programación de eventos o la sincronización de sistemas.

Primero, explicaré la sintaxis básica de esta función para que puedas implementarla fácilmente en consultas SQL. Luego, mostraré ejemplos prácticos que demuestran cómo convertir horarios entre diferentes zonas, ajustando datos de servidores centrales a la zona local de los usuarios.

Si quieres explorar más detalles y ver ejemplos avanzados, puedes consultar la documentación oficial de ORACLE sobre NEW_TIME.

Sintaxis

Escribe la siguiente sintaxis para utilizar la función NEW_TIME en Oracle:

NEW_TIME(fecha, zona_horaria_origen, zona_horaria_destino);

En la sintaxis anterior, new_time admite tres parametros:

  • fecha: campo de fecha o fecha escrita que se quiere convertir.
  • zona_horaria_origen: indica que zona horaria tiene el parámetro anterior.
  • zona_horaria_destino: indica la zona horaria a la que se va convertir.

Por defecto la fecha no se muestra con la hora al no ser que lo hayas modificado, sino es tu caso, ejecuta antes esta sentencia para poder mostrar la hora.

ALTER SESSION SET NLS_DATE_FORMAT =  'DD-MON-YYYY HH24:MI:SS';

Ejemplo

En el siguiente ejemplo puedes comprobar como cambiarnos la hora de origen en formato del pacifico a la hora estándar del este:

SELECT
  NEW_TIME( TO_DATE( '09-26-1986 15:30:00', 'MM-DD-YYYY HH24:MI:SS' ),  
    'PST', 'EST' ) NUEVA_FECHA
FROM DUAL;

Zonas horarias disponibles

Las zonas horarias disponibles para la función new_time son las siguientes:

Zona HorariaDescripción
ADTHora de verano del Atlántico
ASTHora estándar del Atlántico
BDTHora de verano de Bering
BSTHora estándar de Bering
CDTHora central de verano
CSTHorario de la zona central
EDTHora de verano del este
ESTHora estándar del este
GMTHora de Greenwich
HDTHora de verano de Alaska-Hawái
HSTHora estándar de Alaska-Hawái
MDTHorario de verano de montaña
MSTHora estándar de la montaña
NSTHora estándar de Terranova
PDTHora de verano del Pacífico
PSTHora estándar del Pacífico
YDTHora de verano del Yukón
YSTHora estándar del Yukón

Escribir un comentario