FIX: DateFormat Class Does Not Default to the System Time Zone

ID: Q233271


The information in this article applies to:


SYMPTOMS

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.)


CAUSE

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.


STATUS

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.


MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Console Application project using Microsoft Visual J++ 6.0.


  2. Include the following piece of code in its main method:


  3. 
    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())); 
  4. Build and execute the above code. This displays the correct date and time.


  5. Now open Control Panel, select Date/Time and change the Time Zone to Eastern Time Zone (EST) on your machine.


  6. Rerun the above code. It still displays the time as if the machine were set to Pacific Time Zone.



REFERENCES

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