Hibernate 无法更改java web应用程序的时区

Hibernate 无法更改java web应用程序的时区,hibernate,jsf,web-applications,time,zone,Hibernate,Jsf,Web Applications,Time,Zone,我随身带着web应用程序。它向我们展示了时间。我想让它显示印度时间。 我尝试过设置属性uingSystem.getProperty().setProperty(“user.country”,“IN”)和System.getProperty().setProperty(“user.variant”,“IN”)但仍然显示使用时间 我甚至尝试了Locale.setDefault(新语言环境(“en”,“IN”))但是没有用 当我这么做的时候 SimpleDateFormat format = new

我随身带着web应用程序。它向我们展示了时间。我想让它显示印度时间。 我尝试过设置属性uing
System.getProperty().setProperty(“user.country”,“IN”)
System.getProperty().setProperty(“user.variant”,“IN”)但仍然显示使用时间

我甚至尝试了
Locale.setDefault(新语言环境(“en”,“IN”))但是没有用

当我这么做的时候

SimpleDateFormat format = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa -- z");
System.out.println("Date: "+format.format(new Date())); 
结果是
日期:02013.3.14 AD 12:29 AM--GMT-08:00
。 我做错了什么

它是部署在Tomcat6中的JSF1.1和Hibernate3项目

提前谢谢

试试这个

    SimpleDateFormat f = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa -- z");
    f.setTimeZone(TimeZone.getTimeZone("IST"));
    System.out.println(f.format(new Date()));
试试这个

    SimpleDateFormat f = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa -- z");
    f.setTimeZone(TimeZone.getTimeZone("IST"));
    System.out.println(f.format(new Date()));
添加此行:

format.setTimeZone(TimeZone.getTimeZone("IST"));
添加此行:

format.setTimeZone(TimeZone.getTimeZone("IST"));

你的问题令人困惑。这真的是美国时间吗?JSF默认为UTC。如果确实是美国时间(如EDT),则应在所有
标记的
时区
属性中明确配置。您所需要做的就是将“EDT”更改为“IST”。但这是一个非常明显的解决方案,我认为您实际上不是在运行我们的时间,而是UTC

你解决问题的尝试也令人困惑。您说过并标记您正在使用JSF,但您并没有试图用JSF的方式来解决它,而是用纯Java的方式。这并不是在JSF中转换日期/时间的方式。您应该对作业使用
,而不是
SimpleDateFormat

在任何情况下,您都需要配置所有
标记,以明确地将
时区
属性设置为
IST

<h:outputText value="#{bean.date}">
    <f:convertDateTime timeZone="IST" />
</h:outputText>


请注意,如果您使用的是JSF2.x,那么您还可以设置
web.xml
上下文参数来在应用程序范围内应用此更改。另请参见。

您的问题令人困惑。这真的是美国时间吗?JSF默认为UTC。如果确实是美国时间(如EDT),则应在所有
标记的
时区
属性中明确配置。您所需要做的就是将“EDT”更改为“IST”。但这是一个非常明显的解决方案,我认为您实际上不是在运行我们的时间,而是UTC

你解决问题的尝试也令人困惑。您说过并标记您正在使用JSF,但您并没有试图用JSF的方式来解决它,而是用纯Java的方式。这并不是在JSF中转换日期/时间的方式。您应该对作业使用
,而不是
SimpleDateFormat

在任何情况下,您都需要配置所有
标记,以明确地将
时区
属性设置为
IST

<h:outputText value="#{bean.date}">
    <f:convertDateTime timeZone="IST" />
</h:outputText>


请注意,如果您使用的是JSF2.x,那么您还可以设置
web.xml
上下文参数来在应用程序范围内应用此更改。另请参见。

在我的web应用程序中放置此代码的最佳位置,以便在应用程序在服务器上启动后立即设置此代码。在初始化
SimpleDataFormat
后立即放置此行,这是在我的web应用程序中放置此代码的最佳位置,以便在应用程序启动后立即设置此代码在服务器上启动。在初始化
SimpleDataFormat
后立即放置此行。谢谢lion,但这不是我要找的。谢谢lion,但这不是我要找的。