bra*_*ter 1 java timezone jsp locale servlets
好的 - 我觉得这个基本问题很愚蠢,但是嘿.
我试图在Java webapp中的不同时区获取当前时间.我尝试了以下明显的解决方案:在我的servlet中,
Calendar localCalendar = Calendar.getInstance(myBean.getTimeZone());
然后我将日历对象作为请求属性'localCalendar'传递给JSP:
It is now: [${requestScope.localCalendar.time}]
in TimeZone ${requestScope.localCalendar.timeZone.ID}
Run Code Online (Sandbox Code Playgroud)
但我的输出似乎忽略了时区设置,即
It is now: [Thu Nov 26 10:01:03 GMT 2009] in TimeZone Indian/Mahe
我猜它与Locale设置有关,有没有办法在另一个时区为我的Locale设置格式化时间?
内部数据Calendar基本上是:
瞬间可以用毫秒值表示,该值是1970年1月1日格林威治标准时间1970年1月1日00:00:00.90(格里高利)的时间偏差.
所以,long无论你在它上面使用什么操作而且toString没有任何承诺,它都会保持一致.
您希望根据区域设置和时区格式化日期.您可以使用JSTL之类的东西在表示层(JSP)中执行此操作,也可以使用DateFormat格式化bean中的日期,并将值作为字符串返回.