嗨,我有一個日期問題。 Java和PHP返回的日期與我的系統日期不符。日期與不同的編程語言不匹配系統日期
這裏是我的系統設定的日期和時間
Date = 05-13-2013 10:58 AM
Time Zone Info = (UTC+05:00) Islamabad, Karachi
的Java
DateFormat df = new SimpleDateFormat("MM-dd-yyyy hh:mm a");
System.out.println(df.format(new Date()));
TimeZone zone = TimeZone.getDefault();
System.out.println(zone.getDisplayName());
System.out.println(zone.getID());
結果:
2013年5月13日上午12時58
中央斯坦DARD時間
美洲/墨西哥城
PHP
echo ini_get('date.timezone')." ======= ".date_default_timezone_get()."<hr>";
echo date("m-d-Y h:i:s A", mktime());
結果
UTC ============== UTC
05-13-2013 06:02:21 AM
我想盡一切事情,但未能解決這個問題,有人建議設置時區在php.ini來解決這個問題,但我想編程languge應該選擇系統時區和日期&時間。
我需要JAVA的解決方案 Java代碼是否可以選擇系統的日期和時間(時區)而不是某些配置設置。 (因爲我希望我的代碼應該是透明的,它應該在世界任何地方的任何服務器上運行,並且必須是系統中的任何時區)
如果以上情況不可能,可以在其中配置時區設置(請注意我正在運行獨立應用程序,以及在JBOSS上運行的應用程序,這些應用程序計劃任務)。
編輯:
我已經嘗試了成功的結果 運行一個Java類,其中打印日期。
獨立
javac MyCurrentDate.java
java -Duser.timezone="GMT+5" MyCurrentDate
打印它正確
的Jboss我已經添加-Duser.timezone PARAM在run.bat
set JAVA_OPTS =%JAVA_OPTS%-Xms512m -Xmx1124m -XX:PermSize = 256m -Duser。時區=「GMT + 5」
但我再次尋找全球性解決方案(Java代碼的每個實例都應該返回正確的日期作爲系統日期)
很少有人推薦時區更新工具。 但我相信它只會更新JDK和JRE的時區列表,並且沒有此類選項來更改當前時區。 http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html
這個工作正常,可能你沒有在你的系統上設置時區。 – Ankit 2013-05-13 06:33:36
它被設置,這就是爲什麼我很困惑。我上面在我的問題中也提到過 – 2013-05-13 06:49:26