Bir Java programını çalıştırmaya çalışıyorum, ancak OS tanımlı bir saat dilimi yerine varsayılan GMT saat dilimini alıyor. Benim JDK sürümüm 1.5 ve işletim sistemi Windows Server Enterprise (2007)JVM TimeZone düzgün bir şekilde nasıl ayarlanır
Windows'un bir Central saat dilimi belirtildi, ancak aşağıdaki programı çalıştırdığımda, bana bir GMT süresi veriyor.
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());
}
}
Burada çıkış
sun.util.calendar.ZoneInfo[id="GMT",
offset=0,
dstSavings=0,
useDaylight=false,
transitions=0,
lastRule=null]
Mon Mar 22 13:46:45 GMT 2010
Ben uygulamadan dilimini ayarlamak istemiyorum lütfen unutmayın olduğunu. JVM tarafından kullanılan saat diliminin işletim sisteminde belirtilen saat olması gerektiğini istiyorum. (Bu sorunları JDK ve Microsoft Server 2003 sürüm 1.4 olan diğer sunucularda bulamıyorum).
Herhangi bir düşünce çok takdir edilecektir.
Hm için, o garip. Bir JVM/OS hatası veya bazı garip yanlış yapılandırma gibi görünüyor. –
'DateTest' sınıfını nasıl çağırıyorsunuz? –
@matt b: Windows komut isteminden DateTest derleyip çağırıyorum. Ama bu sadece bir Test sınıfı. Orijinal sorun, IBM cognos sunucusu için bazı ETL işlemiyle gerçekleştirildi. –