Summary: | fmt:formatDate displays IRT as timezone instead of MET | ||
---|---|---|---|
Product: | Taglibs | Reporter: | georg-schmid |
Component: | Standard Taglib | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | P3 | ||
Version: | 1.0.1 | ||
Target Milestone: | --- | ||
Hardware: | Sun | ||
OS: | Solaris |
Description
georg-schmid
2003-01-07 14:37:32 UTC
As stated in the Java API documentation, three-letter time zone IDs have been deprecated because the same abbreviation is often used for multiple time zones. In your case, MET is an alias for "Asia/Tehran". You should use something like "Europe/Berlin" instead (or whatever the proper timezone is for you). -- Pierre Hi Pierre, I researched the problem a bit further and found, that this is related to the JDK itself, not the JSTL. A few points should be noted: 1) MET is "Middle Europe Time", not "Middle Eastern Time" (this is an error introduced some time back in JDK1.x. It has been fixed since JDK1.2.2 latest, but not for all locales). Set the locale to "en" and you'll see. BTW, this is also the interpretation of Solaris 2.8. 2) Using MET was not my idea. The timezone on our Solaris boxes is MET (which is standard TZ setting for our region on Solaris), and the JDK reads this setting. 3) It's only the localization, that is wrong. I created a JSP page, that prints the zone strings of the DateFormatSymbols for the locale "de". It shows that the localization of the timezone strings has been done only half- heartedly, even in the JDK1.4.1_01-b01. For instance, MET in German would be "MEZ" (Mitteleuropaeische Zeit) or the long version of GMT should be "Mittlere Greenwich-Zeit", not "Greenwich Mean Time". 4) Localized timezones should work out of the box, without having to pass - Duser.timezone=Europe/Berlin to the JVM, especially on Solaris. 5) Using "Europe/Berlin" results in the timezone string "CET". 6) I posted a bug report at Sun's Java bug report site. Regards Georg Schmid |