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









Reply via email to