Hi,

Some more info. It turned out that the strange behavior of JDK that
reports those outdated SystemV/PST8PDT-like zones is due to bug in
Ubuntu 7.10.

https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/246732

Thanks,
  --Vladimir

On Tue, Jul 8, 2008 at 9:50 PM, Vladimir Sizikov <[EMAIL PROTECTED]> wrote:
> Hi Brian,
>
> Thanks for the quick response!
>
> On Tue, Jul 8, 2008 at 9:28 PM, O'Neill, Brian <[EMAIL PROTECTED]> wrote:
>> I'm inclined to uncomment the lines in the systemv tz file.
>
> The downside of this method is that those changes will need to be
> merged every time the TZ info updated from the upstream, right?
>
> Also, it would be really useful at times to have the access and the
> possibility to update the  conversion rules programmatically (e.g., to
> have an access to cZoneIdConversion map from DateTimeZone). That way,
> JRuby could adjust the conversion rules when neccessary.
>
> E.g., there is another case for that. 'MET' time zone. Joda Time
> converts it to "Asia/Tehran", while in recent JDKs it is (properly)
> Middle European Time.
>
> It would be great to be able to adjust those things without
> recompiling/rebundling/forking Joda Time.
>
>> Have you confirmed that this works? That is, build a new version of 
>> Joda-time and try it out?
>
> It seems that as soon as I uncomment any line in systemv file, like this:
>
> Zone    SystemV/PST8PDT -8:00   SystemV         P%sT
>
> the build will fail:
>     [java] Writing Etc/GMT+12
>     [java] Exception in thread "main"
> org.joda.time.IllegalFieldValueException: Value 292278995 for year
> must be in the range [-292275054,292278993]
>     [java]     at
> org.joda.time.field.FieldUtils.verifyValueBounds(FieldUtils.java:215)
>     [java]     at
> org.joda.time.chrono.BasicYearDateTimeField.set(BasicYearDateTimeField.java:82)
>     [java]     at
> org.joda.time.chrono.BasicYearDateTimeField.add(BasicYearDateTimeField.java:63)
>     [java]     at
> org.joda.time.tz.DateTimeZoneBuilder$OfYear.next(DateTimeZoneBuilder.java:574)
>     [java]     at
> org.joda.time.tz.DateTimeZoneBuilder$Recurrence.next(DateTimeZoneBuilder.java:760)
>     [java]     at
> org.joda.time.tz.DateTimeZoneBuilder$Rule.next(DateTimeZoneBuilder.java:862)
>     [java]     at
> org.joda.time.tz.DateTimeZoneBuilder$RuleSet.nextTransition(DateTimeZoneBuilder.java:1092)
>     [java]     at
> org.joda.time.tz.DateTimeZoneBuilder$RuleSet.firstTransition(DateTimeZoneBuilder.java:1028)
>     [java]     at
> org.joda.time.tz.DateTimeZoneBuilder.toDateTimeZone(DateTimeZoneBuilder.java:350)
>     [java]     at
> org.joda.time.tz.ZoneInfoCompiler.compile(ZoneInfoCompiler.java:374)
>     [java]     at
> org.joda.time.tz.ZoneInfoCompiler.main(ZoneInfoCompiler.java:116)
>
> Thanks,
>  --Vladimir
>
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Vladimir 
>> Sizikov
>> Sent: Tuesday, July 08, 2008 12:15 PM
>> To: joda-interest@lists.sourceforge.net
>> Subject: [Joda-interest] Major issues with joda time on Ubuntu Linux
>>
>> Hi,
>>
>> I'm currently investigating a couple of JRuby issues related to Time (and 
>> JRuby uses joda-time internally, with much satisfaction, I might add).
>>
>> The particular issue is here:
>> http://jira.codehaus.org/browse/JRUBY-2541
>>
>> Essentially, it boils down to a fact that Ubuntu users with US timezones end 
>> up getting the UTC as their default time zone rather than proper ones.
>>
>> It all starts with JDK (JDK 6 or openJDK), which returns "SystemV/PST8PDT" 
>> default timezone for those who are on Pacific Coast and "SystemV/EST5EDT" 
>> for those who are on East Coast.
>>
>> And, since JodaTime uses:
>> forTimeZone(TimeZone.getDefault())
>>
>> it can't really understand such weird zones properly, and we end up with 
>> UTC. Pretty bad. :(
>>
>> Here's a small jruby snippet that shows the problem:
>> jruby -rjava -e "p org.joda.time.DateTimeZone.getDefault.getID; p 
>> java.util.TimeZone.getDefault.getID"
>>
>> "UTC"
>> "SystemV/PST8PDT"
>>
>> We basically just print out the IDs obtained from getDefault() methods from 
>> JDK and JodaTime.
>>
>> It would be really, really nice to have this fixed. So far, I see a couple 
>> of ways to do that:
>> 1. In DateTimeZone.getConvertedId, add those SystemV conversions, so that 
>> "SystemV/PST8PDT" --> "PST8PDT", which is understood by JodaTime.
>>
>> 2. Uncomment SystemV/* definitions in tz's systemv file.
>>
>> Thanks,
>>  --Vladimir
>>
>> -------------------------------------------------------------------------
>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>> Studies have shown that voting for your favorite open source project, along 
>> with a healthy diet, reduces your potential for chronic lameness and 
>> boredom. Vote Now at http://www.sourceforge.net/community/cca08
>> _______________________________________________
>> Joda-interest mailing list
>> Joda-interest@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/joda-interest
>>
>> -------------------------------------------------------------------------
>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>> Studies have shown that voting for your favorite open source project,
>> along with a healthy diet, reduces your potential for chronic lameness
>> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>> _______________________________________________
>> Joda-interest mailing list
>> Joda-interest@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/joda-interest
>>
>

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Joda-interest mailing list
Joda-interest@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/joda-interest

Reply via email to