tengo 2 ordenadores diferentes, cada uno con diferente zona horaria.¿Es java.util.Date usando TimeZone?
En un equipo im impresión System.currentTimeMillis()
, y luego imprime el siguiente comando en ambos equipos: System.out.println(new Date(123456));
-> 123456 equivale a la cantidad vinieron en la currentTimeMillis
en el equipo # 1.
La segunda impresión (aunque se escribe con hardcoded) da como resultado diferentes impresiones, en ambas computadoras. ¿por qué es eso?
java.util.Date es solo algo independiente de la zona horaria. Copiar y pegar desde Java SDK7 java.util.Date.toString() 'TimeZone zi = date.getZone(); if (zi! = Null) { sb.append (zi.getDisplayName (date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz } else { sb.append ("GMT"); } '' date' es un 'BaseCalendar' cuya zona horaria está configurada en' TimeZone.getDefaultRef() ' –
El punto clave es que estás hablando del método toString(). Dije que no había mirado la implementación de toString(), pero sospeché que se trataba de un calendario. Usted acaba de confirmar eso. No hay desacuerdo entre nosotros. –
El objeto 'Fecha' funciona con un miembro' cdate' (que es un 'BaseCalendar') con un huso horario. Y luego pasan cosas que a nadie realmente le importan y 'Fecha 'se comporta como independiente de la zona horaria siempre que no lo imprima. No quise contradecir tu respuesta. –