2010-11-16 22 views

Respuesta

10

Se muestra usando TimeZone.getDefault() que, a su vez, se ajustará de manera predeterminada al huso horario del sistema operativo en el que se está ejecutando (es decir, el host). Entonces, en la práctica, serán lo mismo

¡Tenga en cuenta que una fecha Java no es realmente una fecha! Es un instante en el tiempo, representado por un desplazamiento de milisegundos desde el comienzo de la época. Todavía contiene métodos que hacen referencia a año, mes etc. pero estos están obsoletos. No debe utilizar en ningún caso un objeto Date como si fuera una fecha.

Utilice un Calendar (aunque esto es posiblemente incluso más roto que Date) o una biblioteca decente como JODA.

+0

¿Hay alguna posibilidad de que, dada la zona horaria del host de Eastern Standard Time (EST), Date.toString() a veces muestre la zona horaria EST, pero otras veces muestre Eastern Daylight Time (EDT)? Estoy observando este comportamiento extraño con 'ToStringBuilder.reflectionToString (Object)' que, de acuerdo con http://stackoverflow.com/questions/4198253/in-what-format-does-tostringbuilder-reflectiontostringobject-display-dates/4198295# 4198295, usa 'Date.toString()' para mostrar los objetos 'Fecha'. –

+0

Creo que es probable que su sistema utilice las configuraciones de ahorro de luz diurna apropiadas para su localidad (los administradores de su sistema lo sabrán). Por lo tanto, durante el período de horario de verano, esperaría que la zona horaria predeterminada fuera EDT (suponiendo que EDT es la versión de horario de verano de EST). –

+0

Mi pregunta no era lo suficientemente clara. Dado un Objeto que contiene múltiples objetos 'Fecha',' ToStringBuilder.reflectionToString (Object) 'muestra algunas fechas con zona horaria EST y otras fechas con EDT. ¿No debería mostrarlos todos en la zona horaria del host, en este caso EST? –

1

¿Muestra la zona predeterminada de tiempo para el anfitrión, o TimeZone.getDefault()?

Este último (que es el mismo que el anterior a menos que lo establezca explícitamente en algún lugar). Sin embargo, esta es información reluciente del código fuente, por lo que debe considerarse un detalle de implementación. Si desea un comportamiento repetible específico, debe implementarlo usted mismo.

Cuestiones relacionadas