嗨,我有一个日期问题。 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