1# This file is auto-generated by the Perl DateTime Suite time zone
2# code generator (0.07) This code generator comes with the
3# DateTime::TimeZone module distribution in the tools/ directory
4
5#
6# Generated from /tmp/AQnrcGnc70/europe.  Olson data version 2010b
7#
8# Do not edit this file directly.
9#
10package DateTime::TimeZone::Europe::Helsinki;
11
12use strict;
13
14use Class::Singleton;
15use DateTime::TimeZone;
16use DateTime::TimeZone::OlsonDB;
17
18@DateTime::TimeZone::Europe::Helsinki::ISA = ( 'Class::Singleton', 'DateTime::TimeZone' );
19
20my $spans =
21[
22    [
23DateTime::TimeZone::NEG_INFINITY,
2459245424408,
25DateTime::TimeZone::NEG_INFINITY,
2659245430400,
275992,
280,
29'LMT'
30    ],
31    [
3259245424408,
3360599744408,
3459245430400,
3560599750400,
365992,
370,
38'HMT'
39    ],
40    [
4160599744408,
4261260012000,
4360599751608,
4461260019200,
457200,
460,
47'EET'
48    ],
49    [
5061260012000,
5161275819600,
5261260022800,
5361275830400,
5410800,
551,
56'EEST'
57    ],
58    [
5961275819600,
6062490355200,
6161275826800,
6262490362400,
637200,
640,
65'EET'
66    ],
67    [
6862490355200,
6962490358800,
7062490362400,
7162490366000,
727200,
730,
74'EET'
75    ],
76    [
7762490358800,
7862506083600,
7962490369600,
8062506094400,
8110800,
821,
83'EEST'
84    ],
85    [
8662506083600,
8762521808400,
8862506090800,
8962521815600,
907200,
910,
92'EET'
93    ],
94    [
9562521808400,
9662537533200,
9762521819200,
9862537544000,
9910800,
1001,
101'EEST'
102    ],
103    [
10462537533200,
10562553258000,
10662537540400,
10762553265200,
1087200,
1090,
110'EET'
111    ],
112    [
11362553258000,
11462568982800,
11562553268800,
11662568993600,
11710800,
1181,
119'EEST'
120    ],
121    [
12262568982800,
12362584707600,
12462568990000,
12562584714800,
1267200,
1270,
128'EET'
129    ],
130    [
13162584707600,
13262601037200,
13362584718400,
13462601048000,
13510800,
1361,
137'EEST'
138    ],
139    [
14062601037200,
14162616762000,
14262601044400,
14362616769200,
1447200,
1450,
146'EET'
147    ],
148    [
14962616762000,
15062632486800,
15162616772800,
15262632497600,
15310800,
1541,
155'EEST'
156    ],
157    [
15862632486800,
15962648211600,
16062632494000,
16162648218800,
1627200,
1630,
164'EET'
165    ],
166    [
16762648211600,
16862663936400,
16962648222400,
17062663947200,
17110800,
1721,
173'EEST'
174    ],
175    [
17662663936400,
17762679661200,
17862663943600,
17962679668400,
1807200,
1810,
182'EET'
183    ],
184    [
18562679661200,
18662695386000,
18762679672000,
18862695396800,
18910800,
1901,
191'EEST'
192    ],
193    [
19462695386000,
19562711110800,
19662695393200,
19762711118000,
1987200,
1990,
200'EET'
201    ],
202    [
20362711110800,
20462726835600,
20562711121600,
20662726846400,
20710800,
2081,
209'EEST'
210    ],
211    [
21262726835600,
21362742560400,
21462726842800,
21562742567600,
2167200,
2170,
218'EET'
219    ],
220    [
22162742560400,
22262758285200,
22362742571200,
22462758296000,
22510800,
2261,
227'EEST'
228    ],
229    [
23062758285200,
23162774010000,
23262758292400,
23362774017200,
2347200,
2350,
236'EET'
237    ],
238    [
23962774010000,
24062790339600,
24162774020800,
24262790350400,
24310800,
2441,
245'EEST'
246    ],
247    [
24862790339600,
24962806064400,
25062790346800,
25162806071600,
2527200,
2530,
254'EET'
255    ],
256    [
25762806064400,
25862821789200,
25962806075200,
26062821800000,
26110800,
2621,
263'EEST'
264    ],
265    [
26662821789200,
26762837514000,
26862821796400,
26962837521200,
2707200,
2710,
272'EET'
273    ],
274    [
27562837514000,
27662853238800,
27762837524800,
27862853249600,
27910800,
2801,
281'EEST'
282    ],
283    [
28462853238800,
28562868963600,
28662853246000,
28762868970800,
2887200,
2890,
290'EET'
291    ],
292    [
29362868963600,
29462884688400,
29562868974400,
29662884699200,
29710800,
2981,
299'EEST'
300    ],
301    [
30262884688400,
30362900413200,
30462884695600,
30562900420400,
3067200,
3070,
308'EET'
309    ],
310    [
31162900413200,
31262916138000,
31362900424000,
31462916148800,
31510800,
3161,
317'EEST'
318    ],
319    [
32062916138000,
32162931862800,
32262916145200,
32362931870000,
3247200,
3250,
326'EET'
327    ],
328    [
32962931862800,
33062947587600,
33162931873600,
33262947598400,
33310800,
3341,
335'EEST'
336    ],
337    [
33862947587600,
33962963917200,
34062947594800,
34162963924400,
3427200,
3430,
344'EET'
345    ],
346    [
34762963917200,
34862982061200,
34962963928000,
35062982072000,
35110800,
3521,
353'EEST'
354    ],
355    [
35662982061200,
35762995366800,
35862982068400,
35962995374000,
3607200,
3610,
362'EET'
363    ],
364    [
36562995366800,
36663013510800,
36762995377600,
36863013521600,
36910800,
3701,
371'EEST'
372    ],
373    [
37463013510800,
37563026816400,
37663013518000,
37763026823600,
3787200,
3790,
380'EET'
381    ],
382    [
38363026816400,
38463044960400,
38563026827200,
38663044971200,
38710800,
3881,
389'EEST'
390    ],
391    [
39263044960400,
39363058266000,
39463044967600,
39563058273200,
3967200,
3970,
398'EET'
399    ],
400    [
40163058266000,
40263077014800,
40363058276800,
40463077025600,
40510800,
4061,
407'EEST'
408    ],
409    [
41063077014800,
41163089715600,
41263077022000,
41363089722800,
4147200,
4150,
416'EET'
417    ],
418    [
41963089715600,
42063108464400,
42163089726400,
42263108475200,
42310800,
4241,
425'EEST'
426    ],
427    [
42863108464400,
42963121165200,
43063108471600,
43163121172400,
4327200,
4330,
434'EET'
435    ],
436    [
43763121165200,
43863139914000,
43963121176000,
44063139924800,
44110800,
4421,
443'EEST'
444    ],
445    [
44663139914000,
44763153219600,
44863139921200,
44963153226800,
4507200,
4510,
452'EET'
453    ],
454    [
45563153219600,
45663171363600,
45763153230400,
45863171374400,
45910800,
4601,
461'EEST'
462    ],
463    [
46463171363600,
46563184669200,
46663171370800,
46763184676400,
4687200,
4690,
470'EET'
471    ],
472    [
47363184669200,
47463202813200,
47563184680000,
47663202824000,
47710800,
4781,
479'EEST'
480    ],
481    [
48263202813200,
48363216118800,
48463202820400,
48563216126000,
4867200,
4870,
488'EET'
489    ],
490    [
49163216118800,
49263234867600,
49363216129600,
49463234878400,
49510800,
4961,
497'EEST'
498    ],
499    [
50063234867600,
50163247568400,
50263234874800,
50363247575600,
5047200,
5050,
506'EET'
507    ],
508    [
50963247568400,
51063266317200,
51163247579200,
51263266328000,
51310800,
5141,
515'EEST'
516    ],
517    [
51863266317200,
51963279018000,
52063266324400,
52163279025200,
5227200,
5230,
524'EET'
525    ],
526    [
52763279018000,
52863297766800,
52963279028800,
53063297777600,
53110800,
5321,
533'EEST'
534    ],
535    [
53663297766800,
53763310467600,
53863297774000,
53963310474800,
5407200,
5410,
542'EET'
543    ],
544    [
54563310467600,
54663329216400,
54763310478400,
54863329227200,
54910800,
5501,
551'EEST'
552    ],
553    [
55463329216400,
55563342522000,
55663329223600,
55763342529200,
5587200,
5590,
560'EET'
561    ],
562    [
56363342522000,
56463360666000,
56563342532800,
56663360676800,
56710800,
5681,
569'EEST'
570    ],
571    [
57263360666000,
57363373971600,
57463360673200,
57563373978800,
5767200,
5770,
578'EET'
579    ],
580    [
58163373971600,
58263392115600,
58363373982400,
58463392126400,
58510800,
5861,
587'EEST'
588    ],
589    [
59063392115600,
59163405421200,
59263392122800,
59363405428400,
5947200,
5950,
596'EET'
597    ],
598    [
59963405421200,
60063424170000,
60163405432000,
60263424180800,
60310800,
6041,
605'EEST'
606    ],
607    [
60863424170000,
60963436870800,
61063424177200,
61163436878000,
6127200,
6130,
614'EET'
615    ],
616    [
61763436870800,
61863455619600,
61963436881600,
62063455630400,
62110800,
6221,
623'EEST'
624    ],
625    [
62663455619600,
62763468320400,
62863455626800,
62963468327600,
6307200,
6310,
632'EET'
633    ],
634    [
63563468320400,
63663487069200,
63763468331200,
63863487080000,
63910800,
6401,
641'EEST'
642    ],
643    [
64463487069200,
64563500374800,
64663487076400,
64763500382000,
6487200,
6490,
650'EET'
651    ],
652    [
65363500374800,
65463518518800,
65563500385600,
65663518529600,
65710800,
6581,
659'EEST'
660    ],
661    [
66263518518800,
66363531824400,
66463518526000,
66563531831600,
6667200,
6670,
668'EET'
669    ],
670    [
67163531824400,
67263549968400,
67363531835200,
67463549979200,
67510800,
6761,
677'EEST'
678    ],
679    [
68063549968400,
68163563274000,
68263549975600,
68363563281200,
6847200,
6850,
686'EET'
687    ],
688    [
68963563274000,
69063581418000,
69163563284800,
69263581428800,
69310800,
6941,
695'EEST'
696    ],
697    [
69863581418000,
69963594723600,
70063581425200,
70163594730800,
7027200,
7030,
704'EET'
705    ],
706    [
70763594723600,
70863613472400,
70963594734400,
71063613483200,
71110800,
7121,
713'EEST'
714    ],
715    [
71663613472400,
71763626173200,
71863613479600,
71963626180400,
7207200,
7210,
722'EET'
723    ],
724    [
72563626173200,
72663644922000,
72763626184000,
72863644932800,
72910800,
7301,
731'EEST'
732    ],
733    [
73463644922000,
73563657622800,
73663644929200,
73763657630000,
7387200,
7390,
740'EET'
741    ],
742    [
74363657622800,
74463676371600,
74563657633600,
74663676382400,
74710800,
7481,
749'EEST'
750    ],
751    [
75263676371600,
75363689677200,
75463676378800,
75563689684400,
7567200,
7570,
758'EET'
759    ],
760    [
76163689677200,
76263707821200,
76363689688000,
76463707832000,
76510800,
7661,
767'EEST'
768    ],
769    [
77063707821200,
77163721126800,
77263707828400,
77363721134000,
7747200,
7750,
776'EET'
777    ],
778    [
77963721126800,
78063739270800,
78163721137600,
78263739281600,
78310800,
7841,
785'EEST'
786    ],
787    [
78863739270800,
78963752576400,
79063739278000,
79163752583600,
7927200,
7930,
794'EET'
795    ],
796    [
79763752576400,
79863771325200,
79963752587200,
80063771336000,
80110800,
8021,
803'EEST'
804    ],
805];
806
807sub olson_version { '2010b' }
808
809sub has_dst_changes { 42 }
810
811sub _max_year { 2020 }
812
813sub _new_instance
814{
815    return shift->_init( @_, spans => $spans );
816}
817
818sub _last_offset { 7200 }
819
820my $last_observance = bless( {
821  'format' => 'EE%sT',
822  'gmtoff' => '2:00',
823  'local_start_datetime' => bless( {
824    'formatter' => undef,
825    'local_rd_days' => 723268,
826    'local_rd_secs' => 7200,
827    'offset_modifier' => 0,
828    'rd_nanosecs' => 0,
829    'tz' => bless( {
830      'name' => 'floating',
831      'offset' => 0
832    }, 'DateTime::TimeZone::Floating' ),
833    'utc_rd_days' => 723268,
834    'utc_rd_secs' => 7200,
835    'utc_year' => 1982
836  }, 'DateTime' ),
837  'offset_from_std' => 0,
838  'offset_from_utc' => 7200,
839  'until' => [],
840  'utc_start_datetime' => bless( {
841    'formatter' => undef,
842    'local_rd_days' => 723268,
843    'local_rd_secs' => 0,
844    'offset_modifier' => 0,
845    'rd_nanosecs' => 0,
846    'tz' => bless( {
847      'name' => 'floating',
848      'offset' => 0
849    }, 'DateTime::TimeZone::Floating' ),
850    'utc_rd_days' => 723268,
851    'utc_rd_secs' => 0,
852    'utc_year' => 1982
853  }, 'DateTime' )
854}, 'DateTime::TimeZone::OlsonDB::Observance' )
855;
856sub _last_observance { $last_observance }
857
858my $rules = [
859  bless( {
860    'at' => '1:00u',
861    'from' => '1981',
862    'in' => 'Mar',
863    'letter' => 'S',
864    'name' => 'EU',
865    'offset_from_std' => 3600,
866    'on' => 'lastSun',
867    'save' => '1:00',
868    'to' => 'max',
869    'type' => undef
870  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
871  bless( {
872    'at' => '1:00u',
873    'from' => '1996',
874    'in' => 'Oct',
875    'letter' => '',
876    'name' => 'EU',
877    'offset_from_std' => 0,
878    'on' => 'lastSun',
879    'save' => '0',
880    'to' => 'max',
881    'type' => undef
882  }, 'DateTime::TimeZone::OlsonDB::Rule' )
883]
884;
885sub _rules { $rules }
886
887
8881;
889
890