FIX: DateFormat Class Does Not Default to the System Time ZoneID: Q233271
|
When using the java.text.DateFormat class, you will observe that it properly sets the time/date. However it does not display the time corresponding to the default system time zone set on your computer. Instead, it defaults to the first time zone of the system's locale. (For US English, the default would always be PST/PDT.)
The problem is that the time zone is not set by default in the versions of the Microsoft virtual machine (Microsoft VM) prior to build 3181.
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article.
This problem has been fixed in Microsoft VM builds 3181 or later. The latest build is available at:
http://www.microsoft.com/java.If you are using a Microsoft VM build prior to this version, then the workaround is to call setTimeZone on the DateFormat object.
Calendar now = Calendar.getInstance();
DateFormat df = DateFormat.getDateTimeInstance();
//df.setTimeZone(TimeZone.getDefault());-->Uncomment this to fix the problem
System.out.println(df.format(now.getTime()));
For the latest Knowledge Base articles and other support information on Visual J++ and the SDK for Java,
please see the following pages on the Microsoft Technical Support site:
http://support.microsoft.com/support/visualj/
http://support.microsoft.com/support/java/
Additional query words:
Keywords : kbJavaVM kbSDKJava kbGrpJava kbDSupport
Version : WINDOWS:
Platform : WINDOWS
Issue type : kbbug
Last Reviewed: July 27, 1999