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