【问题标题】:Date does not match in different programming language with System date日期在不同的编程语言中与系统日期不匹配
【发布时间】:2013-05-13 06:24:31
【问题描述】:

您好,我遇到了日期问题。 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

中部标准时间

美国/墨西哥城

PHP

echo ini_get('date.timezone')." ======= ".date_default_timezone_get()."<hr>";
echo date("m-d-Y h:i:s A", mktime());

结果

UTC ============== UTC

2013 年 5 月 13 日上午 06:02:21

我尝试了所有方法但无法解决此问题,有人建议在 php.ini 中设置时区来解决此问题,但我希望编程语言应该选择系统时区和日期和时间。

我需要 JAVA 解决方案 Java代码是否可以选择系统的日期和时间(时区),而不是一些配置设置。 (因为我希望我的代码应该是透明的,它应该在世界任何地方的任何服务器上运行,任何时区,必须是系统的)

如果无法配置时区设置(请注意,我正在运行独立应用程序以及 JBOSS 上的应用程序,它会安排任务)。

编辑:

我为成功的结果所做的尝试 运行一个打印日期的java类。

独立

javac MyCurrentDate.java
java -Duser.timezone="GMT+5" MyCurrentDate

正确打印

Jboss 我在 run.bat

中添加了 -Duser.timezone 参数

设置 JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1124m -XX:PermSize=256m -Duser.timezone="GMT+5"

但我又在寻找全局解决方案(Java 代码的每个实例都应返​​回截至系统日期的正确日期)

很少有人推荐时区更新工具。 但我相信它只会更新 JDK 和 JRE 的时区列表,并且没有更改当前时区的选项。 http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html

【问题讨论】:

  • 这可以正常工作,可能是您没有在系统上设置时区。
  • 设置好了,这就是我感到困惑的原因。我在上面的问题中也提到了

标签: java date timezone


【解决方案1】:

您使用的是哪个操作系统?我在 Windows 上看到了类似的区域设置问题,其中本地系统帐户的区域设置与域用户不同。

因此,作为服务运行的进程与域用户启动的进程具有不同的语言环境。

我的解决方案是使用mstsc /console 登录服务器控制台并更改服务器的时区。

编辑: 我不得不说我是一名 Java 开发人员,所以我的主要工作不是服务器维护,而且问题发生在前一段时间。 我记得我的经验是在公司 IT 管理部门安装的 Windows 2003 服务器上。

当我通过远程桌面以用户身份登录时,我可以将时区更改为正确的时区,但作为服务运行的应用程序服务器即使在重新启动后仍然使用旧的(错误的)时区。

在为应用程序服务器设置正确的时区之前,我必须通过原始帖子中提到的控制台登录(可能作为本地管理员)。

【讨论】:

  • 我使用的是 Windows 7,我的本地系统正在运行 jboss 服务器以及 eclipse 中的独立应用程序(两者都有相同的问题)。是的,我也是域用户。现在很混乱,上述解决方案是否只会更改我的域帐户时区设置或服务器时区。
  • 当你在 Eclipse 中遇到同样的问题时,我认为这不是同样的问题。
  • 你能解释一下你的问题和解决方案吗?谁知道这可能会有所帮助,您能回答上面评论中的问题吗?请您的帮助将不胜感激提前感谢(投票)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多