Estamos corriendo en nuestro código java con GregorianCalendar. Nos gustaría persistir en nuestra base de datos postgresql como GMT +0 en las columnas del tipo de marcas de tiempo, pero no estamos seguros de cómo hacerlo. ¿Deben estar los campos con la marca de tiempo o sin ella? ¿Por un token similar qué función de postgres de tiempo "actual" deberíamos usar current_timestamp or localtimestamp?¿Cómo uso las horas GMT en postgresql?
Respuesta
Comience aquí - sección 8.5.3. "Time Zones" de la documentación.
La diferencia entre CURRENT_TIMESTAMP y LOCALTIMESTAMP es el tipo del resultado - las antiguas declaraciones de "marca de tiempo con la zona horaria" y el segundo - "marca de tiempo":
milen=> select CURRENT_TIMESTAMP;
now
-------------------------------
2009-09-05 01:21:37.595704+03
(1 row)
milen=> select LOCALTIMESTAMP;
timestamp
----------------------------
2009-09-05 01:21:41.956355
(1 row)
Es otra cosa completamente en ese momento zona en la que desea ver la hora actual. En este caso, la zona horaria predeterminada (que podría establecerse de varias maneras, todas descritas en la sección vinculada anteriormente) es importante. También se puede utilizar "AT TIME ZONE" en una consulta para obtener la hora actual en la zona horaria específica sin "jugueteando" con el ajuste "zona horaria":
milen=> select CURRENT_TIMESTAMP AT TIME ZONE 'UTC';
timezone
----------------------------
2009-09-04 22:21:44.418236
(1 row)
Gracias, después de revisar la página ahora entiendo la diferencia de campos con o sin sello de tiempo, y no lo tenemos. Sin embargo, cuando utilizamos las marcas hora_almacenamiento y hora_actual, estamos obteniendo hora local, no GMT – Adam
- 1. Convirtiendo entre horas locales y GMT/UTC en C/C++
- 2. GMT contra las fechas UTC
- 3. Diferencia de marca de tiempo en horas para PostgreSQL
- 4. Convertir las horas del Reino Unido (tanto BST como GMT) representadas como cadenas a UTC (en C#)
- 5. Hora GMT en iPhone
- 6. Cómo redondear las horas en función de los minutos (horas + 0 si mín <30, horas + 1 en caso contrario)?
- 7. Todas las horas del día
- 8. ¿Cómo declarar las variables locales en postgresql?
- 9. revisar las revisiones en postgresql
- 10. tiempo de Java en GMT
- 11. Convertir hora UTC/GMT a hora local
- 12. Convertir GMT DateTime String
- 13. PostgreSQL - deshabilitar las restricciones
- 14. PostgreSQL: ¿Cómo indexar todas las claves externas?
- 15. En Django, ¿cómo mostrar las horas con min/pm en minúsculas en las plantillas?
- 16. Convertir formato de 12 horas a 24 horas en Ruby
- 17. PostgreSQL: deshabilitar temporalmente las conexiones
- 18. pytz y Etc/GMT-5
- 19. Cómo convertir una fecha local a GMT
- 20. Necesito mostrar las horas locales en las transiciones DST utilizando Javascript Fecha Objeto
- 21. ¿Cómo puedo acelerar las operaciones de actualización/reemplazo en PostgreSQL?
- 22. La aplicación muestra las horas y los minutos incorrectos
- 23. NSDate - Convertir fecha a GMT
- 24. Convertir 12 horas a 24 horas
- 25. Listar todas las tablas en postgresql information_schema
- 26. Cómo verificar las operaciones pendientes en una transacción de PostgreSQL
- 27. ¿Cómo consultar todas las entradas de las últimas 6 horas (fecha y hora) en GQL?
- 28. Conversión de 12 horas a 24 horas en java
- 29. Implementando las funciones de extensión C para PostgreSQL, ¿cómo hago esto? (pasando datos entre C/PostgreSQL)
- 30. "ORDER BY ... El uso de" cláusula en PostgreSQL
no directamente relacionada con su pregunta, pero sólo quería demostrar que http://joda-time.sourceforge.net/ joda time es un poco más fácil de tratar. :) http://joda-time.sourceforge.net/userguide.html#TimeZones –
Gracias, desafortunadamente es extremadamente difícil agregar bibliotecas a nuestro proyecto. – Adam