Tôi đang cố gắng chạy một chương trình Java, nhưng nó đang dùng múi giờ GMT mặc định thay vì múi giờ do OS xác định. Phiên bản JDK của tôi là 1.5 và hệ điều hành là Windows Server Enterprise (2007)Cách đặt múi giờ JVM đúng
Windows có múi giờ Trung tâm được chỉ định, nhưng khi tôi chạy chương trình sau, nó cho tôi thời gian 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());
}
}
Đây là kết quả
sun.util.calendar.ZoneInfo[id="GMT",
offset=0,
dstSavings=0,
useDaylight=false,
transitions=0,
lastRule=null]
Mon Mar 22 13:46:45 GMT 2010
Xin lưu ý rằng tôi không muốn thiết lập múi giờ từ ứng dụng. Tôi muốn rằng múi giờ được JVM sử dụng phải là múi giờ được chỉ định trong hệ điều hành. (Tôi không tìm thấy vấn đề này với các máy chủ khác có phiên bản 1.4 của JDK và Microsoft Server 2003).
Bất kỳ suy nghĩ nào cũng sẽ được đánh giá cao.
Hm, đó là lạ. Có vẻ như lỗi JVM/OS hoặc một số cấu hình sai kỳ lạ. –
Bạn gọi lớp 'DateTest' như thế nào? –
@matt b: Tôi đang biên soạn và gọi DateTest từ cửa sổ lệnh nhắc. Nhưng đây chỉ là một lớp Test. Vấn đề ban đầu là với một số quy trình ETL cho máy chủ cognos của IBM. –