almaceno una java.sql.Timestamp
en una base de datos PostgreSQL como Marca de tiempo tipo de datos y yo quiero averiguar la diferencia en cuestión de minutos u horas de la almacenada en la base de datos a la corriente marca de tiempo. ¿Cuál es la mejor manera de hacer esto? ¿Hay métodos integrados para eso o tengo que convertirlo en algo largo o algo así?encuentra la diferencia de hora o minuto entre 2 java.sql.Timestamps?
Respuesta
Terminé de usar esto, solo quiero publicarlo para otros si lo buscan.
public static long compareTwoTimeStamps(java.sql.Timestamp currentTime, java.sql.Timestamp oldTime)
{
long milliseconds1 = oldTime.getTime();
long milliseconds2 = currentTime.getTime();
long diff = milliseconds2 - milliseconds1;
long diffSeconds = diff/1000;
long diffMinutes = diff/(60 * 1000);
long diffHours = diff/(60 * 60 * 1000);
long diffDays = diff/(24 * 60 * 60 * 1000);
return diffMinutes;
}
¡Eres el mejor! – dbrad
Utilice la función UNIX_TIMESTAMP
para convertir DATETIME en el valor en Hora, minutos y segundos.
Y si no está seguro de qué valor es más grande, utilice la función ABS.
Para la fecha de añadir/eliminar esta es mi función genérica:
public static Date addRemoveAmountsFromDate(Date date, int field, int amount) {
Calendar tempCalendar = Calendar.getInstance();
tempCalendar.setTime(date);
tempCalendar.add(field, amount);
return tempCalendar.getTime();
}
ejemplo para "campo": Calendar.HOUR_OF_DAY, Calendar.MINUTE
sólo tiene que utilizar:
Date.compareTo(Date)
Usted tiene que convertir java.sql.Timestamps en la fecha primero.
funciónOP quiere encontrar el tiempo transcurrido hasta ahora en forma de horas y minutos, pero no si las fechas son iguales, antes o después. –
Esta respuesta no tiene nada que ver con la pregunta –
date_part
le puede dar hours
o como el interés puede ser, pero, es una especie de substr
y por lo tanto no se puede confiar en ella. Necesita convertir su valor timestamp
en unix_timestamp
y extract
total número transcurrido de horas, minutos o lo que sea relevante desde su timestamp
hasta current_timestamp
.
Ejemplo:
select age(now(), timestamp '2010-11-12 13:14:15');
//results the interval to be "*1 year 6 mons 2 days 04:39:36.093*"
select date_part('hours', age(now(), timestamp '2010-03-10 02:03:04'));
// results *4* which is not correct.
valor correcto de horas u otros se pueden calcular después de encontrar el número total de segundos transcurridos desde 1970. Esto se puede lograr usando epoch
con extract
función.
epoch
devuelve el número total de segundos desde 1970-01-01 00:00:00-00
. Y, sabes, podemos convertirlo en horas dividiéndolo con 3600.
Usando epoch
con extract
:
select
EXTRACT(EPOCH FROM current_timestamp - timestamp '2010-11-12 13:14:15') as total_seconds,
EXTRACT(EPOCH FROM current_timestamp - timestamp '2010-11-12 13:14:15')/3600 as total_hours;
ROUND(
EXTRACT(EPOCH FROM current_timestamp - timestamp '2010-11-12 13:14:15')/3600
) as total_hours_rounded;
// resultados:
----------------+--------------+-----------------------
| total_seconds | total_hours | total_hours_rounded |
| --------------+--------------+----------------------|
| 47452282.218 | 13181.189505 | 13181 |
----------------+--------------+-----------------------
Del mismo modo, podemos extraer otros valores requeridos y usarlos como se requiera.
- 1. ¿Cómo calcular la diferencia entre dos Java java.sql.Timestamps?
- 2. ¿Cómo se encuentra la diferencia entre 2 cadenas en PHP?
- 3. Truncar a solamente hora/minuto
- 4. Obteniendo solo hora/minuto de fecha y hora
- 5. La diferencia más pequeña entre 2 ángulos
- 6. ¿Cómo obtener la diferencia de hora y minutos entre 2 datetimestamp en Excel?
- 7. diferencia entre fecha y hora y DateTime2
- 8. encuentra la diferencia entre dos fechas en segundos
- 9. ¿Manera concisa de encontrar la diferencia "clave" entre 2 diccionarios?
- 10. ¿Alguna diferencia entre estas 2 importaciones?
- 11. ¿Cuál es la diferencia entre "2 * 2" y "2 ** 2" en Python?
- 12. comprobando si la diferencia entre la fecha 2 es más de 20 minutos
- 13. Diferencia entre Environment.Exit y simple retorno 2 de la principal
- 14. LINQ: Diferencia entre 2 DateTime en TimeSpan
- 15. Diferencia entre 2 fechas en SQLite
- 16. Mejor manera de registrar llamadas API, por minuto/por hora
- 17. Conversión de fecha en hora/minuto/segundo increíblemente lento
- 18. ¿Diferencia entre Struts 1 y Struts 2?
- 19. TS SQL - grupo por minuto
- 20. Encontrar la diferencia entre 2 fechas en xslt
- 21. Convertir la diferencia entre 2 veces en milisegundos?
- 22. Cómo obtener la diferencia horaria (en horas) entre 2 fechas
- 23. ¿Cuál es la diferencia entre Lisp-1 y Lisp-2?
- 24. ¿Cuál es la diferencia entre estas 2 inyecciones Spring IOC?
- 25. ¿Cuál es la diferencia entre estas 2 macros?
- 26. Cuál es la diferencia entre MVC 2 y MVC3
- 27. MySQL convertir TIMEDIFF salida a día, hora, minuto, segundo formato
- 28. Conde SQL (*) y el Grupo By - Encuentra diferencia entre filas
- 29. Comparar 2 cadenas y mostrar la diferencia (php o javascript)
- 30. Diferencia entre -O de GHC y O2
posible duplicado de [Cómo calcular la diferencia entre dos de Java java.sql.Timestamps?] (Http://stackoverflow.com/questions/582278/how-to-calculate-the-difference-between- dos-java-java-sql-timestamps) –