好的-问这样的基本问题我很傻,但是,嘿。
我正在尝试获取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
我猜想这与语言环境设置有关,有什么办法可以在另一个时区中获取语言环境的时间格式吗?
的内部数据Calendar基本上是:
Calendar
时间的瞬间可以用毫秒值表示,该值是从格林尼治标准时间1970年1月1日00:00:00.000到纪元的偏移量。
因此,long无论您使用什么操作,它都将保持不变,并且toString不作任何保证。
long
toString
您要按照区域设置和时区格式化日期。您可以使用JSTL之类的方法在表示层(JSP)中执行此操作,也可以使用DateFormat在bean中格式化日期,然后将值作为字符串返回。