Hi,
This is a copy of the e-mail I've sent to David Rolsky - maybe there's someone
that might explain me my doubts.
Cheers,
Rui Fernandes
***
Dear David Rolsky
I tryed to implement your DateTime::TimeZone but I'm getting too much errors -
missing library files, mostly ( like Class Singleton, Params::Validate,
DateTime, etc.
But I would like to ask you a technical issue, regarding the city modules.
Basically there are 4 types of information:
1) the first :
[
DateTime::TimeZone::NEG_INFINITY, # NEG_INFINITY ???
59421774992, #SECONDS FROM WHICH REFERENCE DATE? 1/1/1 ad 0H?
DateTime::TimeZone::NEG_INFINITY,
59421772800,
-2192, #SECONDS = - 36 MIN AND 32 SEC
0,
'LMT'
]
2) the rest of the fields, in the form of ( for example ):
[
60305301392, #SECONDS FROM WHICH REFERENCE DATE? 1/1/1 ad 0H?
60446127600, #WHICH IS THE LOGIC OF THE SEQUENCE?
60305301392,
60446127600,
0,
0,
'WET' #REFERENCE TO WHAT? TIME ABREV.?
]
3) The rules:
my $rules = [
bless( {
'at' => '1:00u', #RULE TO ENDING DST, FROM 1996 FORWARD TO MAX ( 2015 ) ?
THIS ONE I THINK I'VE GOT IT.
'from' => '1996',
'in' => 'Oct',
'letter' => '',
'name' => 'EU',
'offset_from_std' => 0,
'on' => 'lastSun',
'save' => '0',
'to' => 'max',
'type' => undef
}, 'DateTime::TimeZone::OlsonDB::Rule' ),
bless( {
'at' => '1:00u', #RULE TO BEGINNING OF DST FROM 1981 FORWARD TO 2015?
OFFSET EQUAL TO 1 HOUR. THIS ONE I THINK I'VE GOT IT.
'from' => '1981',
'in' => 'Mar',
'letter' => 'S',
'name' => 'EU',
'offset_from_std' => 3600,
'on' => 'lastSun',
'save' => '1:00',
'to' => 'max',
'type' => undef
}, 'DateTime::TimeZone::OlsonDB::Rule' )
]
;
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?
Please answer as soon as possible.
Kind regards,
Rui Miguel Fernandes
Porto - Portugal