On Thu, 16 Jun 2005, Rui Fernandes wrote:
4) The last:
my $last_observance = bless( { #DON'T HAVE A CLUE WHAT THIS IS...
'format' => 'WE%sT',
'gmtoff' => '0:00',
'local_start_datetime' => bless( {
'formatter' => undef,
'local_rd_days' => 728749,
'local_rd_secs' => 7200,
'offset_modifier' => 0,
'rd_nanosecs' => 0,
'tz' => bless( {
'name' => 'floating',
'offset' => 0
}, 'DateTime::TimeZone::Floating' ),
'utc_rd_days' => 728749,
'utc_rd_secs' => 7200,
'utc_year' => 1997
}, 'DateTime' ),
'offset_from_std' => 0,
'offset_from_utc' => 0,
'until' => [],
'utc_start_datetime' => bless( {
'formatter' => undef,
'local_rd_days' => 728749,
'local_rd_secs' => 3600,
'offset_modifier' => 0,
'rd_nanosecs' => 0,
'tz' => bless( {
'name' => 'floating',
'offset' => 0
}, 'DateTime::TimeZone::Floating' ),
'utc_rd_days' => 728749,
'utc_rd_secs' => 3600,
'utc_year' => 1997
}, 'DateTime' )
}, 'DateTime::TimeZone::OlsonDB::Observance' )
;
Can you explain me the logic of the fields?
Ugh, I'd rather not ;) Basically, this is a translation of the Olson time
zone database into Perl data structures. The "last observance" here is
the last line in a Zone definition for a given time zone. It's the one
that continues into the indefinite future, and is needed to calculate DST
changes for the future.
As to what the zone and rule definitions are, you really need to look at
the Olson time zone database itself: http://www.twinsun.com/tz/tz-link.htm
The translation into Perl _hugely_ obfuscates the original data, because
it's translating a text format into data structures, and it also does
some optimizations like pre-calculating a lot of DST changes.
Please answer as soon as possible.
You probably don't mean to sound rude, but this is a bit pushy. Everyone
working on this stuff is a volunteer, so generally you get an answer when
they have some free time ;)
-dave
/*===================================================
VegGuide.Org www.BookIRead.com
Your guide to all that's veg. My book blog
===================================================*/