一尘不染

如何在Java中的其他TimeZone中获取当前时间?

jsp

好的-问这样的基本问题我很傻,但是,嘿。

我正在尝试获取Java Webapp中其他时区的当前时间。我尝试了以下显而易见的解决方案:在我的servlet中,

Calendar localCalendar = Calendar.getInstance(myBean.getTimeZone());

然后将日历对象作为请求属性’localCalendar’传递给JSP:

It is now: [${requestScope.localCalendar.time}]
in TimeZone ${requestScope.localCalendar.timeZone.ID}

但我的输出似乎忽略了时区设置,即

It is now: [Thu Nov 26 10:01:03 GMT 2009] in TimeZone Indian/Mahe

我猜想这与语言环境设置有关,有什么办法可以在另一个时区中获取语言环境的时间格式吗?


阅读 358

收藏
2020-06-10

共1个答案

一尘不染

的内部数据Calendar基本上是:

时间的瞬间可以用毫秒值表示,该值是从格林尼治标准时间1970年1月1日00:00:00.000到纪元的偏移量。

因此,long无论您使用什么操作,它都将保持不变,并且toString不作任何保证。

您要按照区域设置和时区格式化日期。您可以使用JSTL之类的方法在表示层(JSP)中执行此操作,也可以使用DateFormat在bean中格式化日期,然后将值作为字符串返回。

2020-06-10