Our Java application uses
TimeZone tz = TimeZone.getDefault()
Are there any other methods of obtaining the machine's time zone setting?
Background
Using TimeZone.getDefault()
has worked very well for us for quite some time, in all the environments where our application runs: standalone Java application, inside Tomcat 5/6/7, on Windows XP, Windows 7 and Windows Server 2003/2008, 32 and 64-bit.
However, recently we have started running the application remotely via XenApp 6.5 on top of Windows 2008 R2. In this environment, the time zone our app sees is the server time zone, and not the time zone of the client, even though XenApp has been configured to perform "time zone redirection". We are running on Java 1.6.0 update 30.