Tôi đang cố gắng chạy một chương trình Java, nhưng nó đang lấy múi giờ GMT mặc định thay vì múi giờ do hệ điều hành xác định. Phiên bản JDK của tôi là 1.5 và HĐH là Windows Server Enterprise (2007)
Windows có múi giờ miền Trung được chỉ định, nhưng khi tôi chạy chương trình sau, nó sẽ 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à đầu ra
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 đặt múi giờ từ ứng dụng. Tôi muốn rằng múi giờ được sử dụng bởi JVM phải là múi giờ được chỉ định trong HĐH. (Tôi không tìm thấy sự cố 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ĩ sẽ được đánh giá cao.
DateTest
lớp như thế nào?
-Duser.timezone
giá trị