Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

[SOLUCIONADO] Conversion de fechas EPOCH

Estas en el tema de Conversion de fechas EPOCH en el foro de Oracle en Foros del Web. Tengo el siguiente problema, espero me puedan ayudar: ((to_date(concat(to_date(sysdate , 'DD-MM-YYYY') || ' ' , to_char(sysdate,'HH24')-1 || ':00:00') , 'DD-MM-YYYY HH24:MI:SS') - to_date('01-01-1970 00:00:00' , ...
  #1 (permalink)  
Antiguo 14/06/2011, 10:52
 
Fecha de Ingreso: diciembre-2010
Ubicación: México DF
Mensajes: 27
Antigüedad: 14 años
Puntos: 0
Exclamación Conversion de fechas EPOCH

Tengo el siguiente problema, espero me puedan ayudar:

((to_date(concat(to_date(sysdate , 'DD-MM-YYYY') || ' ' , to_char(sysdate,'HH24')-1 || ':00:00') , 'DD-MM-YYYY HH24:MI:SS') - to_date('01-01-1970 00:00:00' , 'DD-MM-YYYY HH24:MI:SS')) * 24 * 60 * 60)

Tengo esta opreacion para sacar la fecha epoch con una hora menos para realizar una consulta.

El problema es que no sale un numero valido de EPOCH para realizar la consulta, espero me puedan ayudar para sacar la fecha actual, la hora actual restando 1 una hora y hacer la conversion a epoch

De antemano gracias.
  #2 (permalink)  
Antiguo 14/06/2011, 13:46
 
Fecha de Ingreso: junio-2010
Ubicación: Temuco, Chile
Mensajes: 20
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Conversion de fechas EPOCH

de una forma mas sencilla:

Cita:
select (SYSDATE-1/24 - TO_DATE('01011970000000' , 'ddmmyyyyhh24miss')) * 86400 AS epoch_date FROM dual
y de la forma que lo estabas haciendo tu estabas concatenando datos con caracteres.

Cita:
select (TO_DATE(concat(concat(concat(concat(TO_CHAR(TRUNC (SYSDATE),'DD-MM-YYYY'), ' '), to_char(sysdate,'HH24')-1 ), ':'), to_char(sysdate,'mi:ss')),'DD-MM-YYYY HH24:MI:SS') - to_date('01-01-1970 00:00:00' , 'DD-MM-YYYY HH24:MI:SS'))*86400 AS ASD from dual

Última edición por raoh; 14/06/2011 a las 14:03
  #3 (permalink)  
Antiguo 14/06/2011, 14:29
 
Fecha de Ingreso: diciembre-2010
Ubicación: México DF
Mensajes: 27
Antigüedad: 14 años
Puntos: 0
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por raoh Ver Mensaje
de una forma mas sencilla:



y de la forma que lo estabas haciendo tu estabas concatenando datos con caracteres.
Gracias, una pregunta, mira aplicando lo que me das, sabes por qué me sale este resultado???

1.308061705E09
  #4 (permalink)  
Antiguo 14/06/2011, 15:19
 
Fecha de Ingreso: junio-2010
Ubicación: Temuco, Chile
Mensajes: 20
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por sirious Ver Mensaje
Gracias, una pregunta, mira aplicando lo que me das, sabes por qué me sale este resultado???

1.308061705E09
copiaste los codigos y te da eso?

a mi me da algo como esto:

1308090006

cuando hago un
select sysdate from dual

el formato de la fecha de la BD es DD-MM-YYYY hh24:mi:ss
fíjate si en tu BD están en el mismo formato

Última edición por raoh; 15/06/2011 a las 06:02
  #5 (permalink)  
Antiguo 15/06/2011, 08:43
 
Fecha de Ingreso: diciembre-2010
Ubicación: México DF
Mensajes: 27
Antigüedad: 14 años
Puntos: 0
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por raoh Ver Mensaje
copiaste los codigos y te da eso?

a mi me da algo como esto:

1308090006

cuando hago un
select sysdate from dual

el formato de la fecha de la BD es DD-MM-YYYY hh24:mi:ss
fíjate si en tu BD están en el mismo formato
Si, esta igual, asi como esta tu codigo lo copie, la verdad no se que puede ser, crees que sea la versión de oracle??
  #6 (permalink)  
Antiguo 15/06/2011, 09:04
 
Fecha de Ingreso: junio-2010
Ubicación: Temuco, Chile
Mensajes: 20
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por sirious Ver Mensaje
Si, esta igual, asi como esta tu codigo lo copie, la verdad no se que puede ser, crees que sea la versión de oracle??
Pero el fromato de las fechas que te entrega le Base de Datos??

hace un
Select sysdate from dual;

que te da?
  #7 (permalink)  
Antiguo 15/06/2011, 09:15
 
Fecha de Ingreso: diciembre-2010
Ubicación: México DF
Mensajes: 27
Antigüedad: 14 años
Puntos: 0
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por raoh Ver Mensaje
Pero el fromato de las fechas que te entrega le Base de Datos??

hace un
Select sysdate from dual;

que te da?
me da

15-jun-2011 10:15:44 AM
  #8 (permalink)  
Antiguo 15/06/2011, 09:23
 
Fecha de Ingreso: junio-2010
Ubicación: Temuco, Chile
Mensajes: 20
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por sirious Ver Mensaje
me da

15-jun-2011 10:15:44 AM
Si te das cuenta si haces en el código
Cita:
select (SYSDATE-1/24 - TO_DATE('01011970000000' , 'ddmmyyyyhh24miss')) * 86400 AS epoch_date FROM dual
Estas restando 15-jun-2011 09:15:44 AM con una fecha en Formato 01-01-1970 00:00:00 y tu fecha no dice el numero del mes si no el sigla Jun

pureba con
Cita:
select (SYSDATE-1/24 - TO_DATE('01011970000000' , 'DDMONYYYYhh24miss')) * 86400 AS epoch_date FROM dual
fijate que cambie ddmmyyyyhh24miss por DDMONYYYYhh24miss
  #9 (permalink)  
Antiguo 15/06/2011, 09:30
 
Fecha de Ingreso: diciembre-2010
Ubicación: México DF
Mensajes: 27
Antigüedad: 14 años
Puntos: 0
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por raoh Ver Mensaje
Si te das cuenta si haces en el código


Estas restando 15-jun-2011 09:15:44 AM con una fecha en Formato 01-01-1970 00:00:00 y tu fecha no dice el numero del mes si no el sigla Jun

pureba con


fijate que cambie ddmmyyyyhh24miss por DDMONYYYYhh24miss
Al hacer el cambio de Fecha por MON, me dice que el mes es invalido, al hacer el cambio de mes en la fecha 01011970 por 01ene1970 lo toma pero aun así el resultado me sale

select (SYSDATE-1/24 - TO_DATE('01ene1970000000' , 'DDMONYYYYhh24miss')) * 86400 AS epoch_date FROM dual

R => 1.308130248E09
  #10 (permalink)  
Antiguo 15/06/2011, 09:34
 
Fecha de Ingreso: junio-2010
Ubicación: Temuco, Chile
Mensajes: 20
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por sirious Ver Mensaje
Al hacer el cambio de Fecha por MON, me dice que el mes es invalido, al hacer el cambio de mes en la fecha 01011970 por 01ene1970 lo toma pero aun así el resultado me sale

select (SYSDATE-1/24 - TO_DATE('01ene1970000000' , 'DDMONYYYYhh24miss')) * 86400 AS epoch_date FROM dual

R => 1.308130248E09
Perdón creo que lo mejor es hacer esto

Cita:
select (to_date(to_char(sysdate-1/24, 'DD-MM-YYYY hh24:mi:ss'),'DD-MM-YYYY hh24:mi:ss') - TO_DATE('01011970000000' , 'ddmmyyyyhh24miss')) * 86400 AS epoch_date FROM dual
  #11 (permalink)  
Antiguo 16/06/2011, 11:03
 
Fecha de Ingreso: diciembre-2010
Ubicación: México DF
Mensajes: 27
Antigüedad: 14 años
Puntos: 0
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por raoh Ver Mensaje
Perdón creo que lo mejor es hacer esto
Muchas gracias por la ayuda, continue tendiendo problemas con la fecha epoch, la solución a esta duda es ingresar el codigo

cast(((((TO_DATE(to_char(sysdate,'dd-mm-yyyy hh24') , 'dd-mm-yyyy hh24:mi:ss')) - TO_DATE('01-01-1970 00:00:00' , 'dd-mm-yyyy hh24:mi:ss')) + (4/24)) *86400) as integer)

y con esta ya no tengo problemas

Gracias y saludos
  #12 (permalink)  
Antiguo 16/06/2011, 12:31
 
Fecha de Ingreso: junio-2010
Ubicación: Temuco, Chile
Mensajes: 20
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Conversion de fechas EPOCH

Cita:
Iniciado por sirious Ver Mensaje
Muchas gracias por la ayuda, continue tendiendo problemas con la fecha epoch, la solución a esta duda es ingresar el codigo

cast(((((TO_DATE(to_char(sysdate,'dd-mm-yyyy hh24') , 'dd-mm-yyyy hh24:mi:ss')) - TO_DATE('01-01-1970 00:00:00' , 'dd-mm-yyyy hh24:mi:ss')) + (4/24)) *86400) as integer)

y con esta ya no tengo problemas

Gracias y saludos
Exelente si tu problema era el formato de las fechas :D

Etiquetas: conversion, fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:17.