Estoy intentando ejecutar un programa Java, pero está tomando una zona horaria GMT predeterminada en lugar de una zona horaria definida por el sistema operativo. Mi versión JDK es 1.5 y el sistema operativo es Windows Server Enterprise (2007)Cómo establecer correctamente una JVM TimeZone
Windows tiene una zona horaria central especificada, pero cuando ejecuto el siguiente programa, me da una hora GMT.
import java.util.Calendar;
public class DateTest
{
public static void main(String[] args)
{
Calendar now = Calendar.getInstance();
System.out.println(now.getTimeZone());
System.out.println(now.getTime());
}
}
Aquí está la salida
sun.util.calendar.ZoneInfo[id="GMT",
offset=0,
dstSavings=0,
useDaylight=false,
transitions=0,
lastRule=null]
Mon Mar 22 13:46:45 GMT 2010
Tenga en cuenta que no quiero para establecer la zona horaria de la aplicación. Quiero que la zona horaria utilizada por JVM sea la especificada en el sistema operativo. (No encuentro estos problemas con otros servidores que tienen la versión 1.4 de JDK y Microsoft Server 2003).
Cualquier idea sería muy apreciada.
Hm, esto es extraño. Parece una falla de JVM/OS o una extraña configuración incorrecta. –
¿cómo está invocando la clase 'DateTest'? –
@matt b: estoy compilando y llamando a DateTest desde el símbolo del sistema de Windows. Pero esto es solo una clase de prueba. El problema original fue con algún proceso de ETL para el servidor de cognos de IBM. –