问候所有人我有一个使用spring框架的j2ee应用程序,当在在线服务器(centos )上调试时,当试图通过打印new Date();对象的值来获取应用程序中的日期时,它会检索GMT-6中的时间,尽管当通过终端命令日期获取服务器时间时,它是在GMT时间中检索的,实时,所以我想知道GMT-6是从哪里来的,为什么会出现这种奇怪的行为?
发布于 2010-11-24 23:23:50
重启apache后问题就解决了,tomcat...但是仍然不知道为什么会发生这样的行为。
发布于 2010-11-24 23:23:46
对我来说,这听起来像是一个语言环境问题。更具体地说,这不是问题,这只是Java处理不同时区/地区设置的方式。
使用this article中的代码
Properties p = System.getProperties();
Enumeration keys = p.keys();
while (keys.hasMoreElements()) {
String key = (String)keys.nextElement();
String value = (String)p.get(key);
System.out.println(key + ": " + value);
}您可以看到Java如何解释您的环境。
如果您更改了CentOS时区/地区设置,Java应该会接受更改并相应地显示时间。
但这听起来有点夸张,基于语言环境的customizing date format可能正是您所需要的。
不同的应用程序可能以不同的方式输出相同的数据。
发布于 2010-11-24 23:23:03
也许在您的应用程序中的某个地方,默认时区被TimeZone.setDefault(..)更改了?
https://stackoverflow.com/questions/4268265
复制相似问题