Hello Friends,
I have a strange problem. Not sure what is the mistake from my side. I have simple class that returns formatted date based on TimeZone. It gives me different result if run on command line vs when used in web app. Below is the code & other information.
import java.util.*;
import java.text.*;
public class
Test {
public static
String getDateFormatted(String tZone) {
DateFormat dfm = new SimpleDateFormat("dd-MMMM-yyyy HH:mm:ss z");
dfm.setTimeZone(TimeZone.getTimeZone(tZone));
return dfm.format(new Date());
}
public static void main(String ar[]) {
System.out.println(getDateFormatted(ar[0]));
}
}
Output From Command Prompt
java Test PST
06-October-2008 20:37:01 PDT
Output From webapp running on Weblogic Server Version 10.0
06-October-2008 23:37:04 GMT-04:00
Java version from my command prompt
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
To confirm if this problem is due to JRockit that is used as default for Weblogic, I changed Java Home in setDomainEnv.cmd to Sun JDK. But still no luck.
set BEA_JAVA_HOME=C:\bea\jrockit_150_11
set SUN_JAVA_HOME=C:\bea\jdk150_11
if "%JAVA_VENDOR%"=="BEA" (
set JAVA_HOME=%SUN_JAVA_HOME%
) else (
if "%JAVA_VENDOR%"=="Sun" (
set JAVA_HOME=%SUN_JAVA_HOME%
) else (
set JAVA_VENDOR=Sun
set JAVA_HOME=C:\bea\jdk150_11
)
)
Thanks & Appreciate any suggestions