The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# This file is auto-generated by the Perl DateTime Suite time zone
# code generator (0.07) This code generator comes with the
# DateTime::TimeZone module distribution in the tools/ directory

#
# Generated from /tmp/R1hmpaTdno/australasia.  Olson data version 2012g
#
# Do not edit this file directly.
#
package DateTime::TimeZone::Pacific::Fiji;
{
  $DateTime::TimeZone::Pacific::Fiji::VERSION = '1.51';
}

use strict;

use Class::Singleton 1.03;
use DateTime::TimeZone;
use DateTime::TimeZone::OlsonDB;

@DateTime::TimeZone::Pacific::Fiji::ISA = ( 'Class::Singleton', 'DateTime::TimeZone' );

my $spans =
[
    [
DateTime::TimeZone::NEG_INFINITY,
60425697980,
DateTime::TimeZone::NEG_INFINITY,
60425740800,
42820,
0,
'LMT'
    ],
    [
60425697980,
63045525600,
60425741180,
63045568800,
43200,
0,
'FJT'
    ],
    [
63045525600,
63055807200,
63045572400,
63055854000,
46800,
1,
'FJST'
    ],
    [
63055807200,
63077580000,
63055850400,
63077623200,
43200,
0,
'FJT'
    ],
    [
63077580000,
63087256800,
63077626800,
63087303600,
46800,
1,
'FJST'
    ],
    [
63087256800,
63395100000,
63087300000,
63395143200,
43200,
0,
'FJT'
    ],
    [
63395100000,
63405381600,
63395146800,
63405428400,
46800,
1,
'FJST'
    ],
    [
63405381600,
63423525600,
63405424800,
63423568800,
43200,
0,
'FJT'
    ],
    [
63423525600,
63435016800,
63423572400,
63435063600,
46800,
1,
'FJST'
    ],
    [
63435016800,
63454975200,
63435060000,
63455018400,
43200,
0,
'FJT'
    ],
    [
63454975200,
63462837600,
63455022000,
63462884400,
46800,
1,
'FJST'
    ],
    [
63462837600,
63486424800,
63462880800,
63486468000,
43200,
0,
'FJT'
    ],
    [
63486424800,
63494287200,
63486471600,
63494334000,
46800,
1,
'FJST'
    ],
    [
63494287200,
63517874400,
63494330400,
63517917600,
43200,
0,
'FJT'
    ],
    [
63517874400,
63525736800,
63517921200,
63525783600,
46800,
1,
'FJST'
    ],
    [
63525736800,
63549324000,
63525780000,
63549367200,
43200,
0,
'FJT'
    ],
    [
63549324000,
63557186400,
63549370800,
63557233200,
46800,
1,
'FJST'
    ],
    [
63557186400,
63580773600,
63557229600,
63580816800,
43200,
0,
'FJT'
    ],
    [
63580773600,
63589240800,
63580820400,
63589287600,
46800,
1,
'FJST'
    ],
    [
63589240800,
63612828000,
63589284000,
63612871200,
43200,
0,
'FJT'
    ],
    [
63612828000,
63620690400,
63612874800,
63620737200,
46800,
1,
'FJST'
    ],
    [
63620690400,
63644277600,
63620733600,
63644320800,
43200,
0,
'FJT'
    ],
    [
63644277600,
63652140000,
63644324400,
63652186800,
46800,
1,
'FJST'
    ],
    [
63652140000,
63675727200,
63652183200,
63675770400,
43200,
0,
'FJT'
    ],
    [
63675727200,
63683589600,
63675774000,
63683636400,
46800,
1,
'FJST'
    ],
    [
63683589600,
63707176800,
63683632800,
63707220000,
43200,
0,
'FJT'
    ],
    [
63707176800,
63715039200,
63707223600,
63715086000,
46800,
1,
'FJST'
    ],
    [
63715039200,
63738626400,
63715082400,
63738669600,
43200,
0,
'FJT'
    ],
    [
63738626400,
63747093600,
63738673200,
63747140400,
46800,
1,
'FJST'
    ],
    [
63747093600,
63770680800,
63747136800,
63770724000,
43200,
0,
'FJT'
    ],
    [
63770680800,
63778543200,
63770727600,
63778590000,
46800,
1,
'FJST'
    ],
    [
63778543200,
63802130400,
63778586400,
63802173600,
43200,
0,
'FJT'
    ],
    [
63802130400,
63809992800,
63802177200,
63810039600,
46800,
1,
'FJST'
    ],
    [
63809992800,
63833580000,
63810036000,
63833623200,
43200,
0,
'FJT'
    ],
];

sub olson_version { '2012g' }

sub has_dst_changes { 17 }

sub _max_year { 2022 }

sub _new_instance
{
    return shift->_init( @_, spans => $spans );
}

sub _last_offset { 43200 }

my $last_observance = bless( {
  'format' => 'FJ%sT',
  'gmtoff' => '12:00',
  'local_start_datetime' => bless( {
    'formatter' => undef,
    'local_rd_days' => 699372,
    'local_rd_secs' => 380,
    'offset_modifier' => 0,
    'rd_nanosecs' => 0,
    'tz' => bless( {
      'name' => 'floating',
      'offset' => 0
    }, 'DateTime::TimeZone::Floating' ),
    'utc_rd_days' => 699372,
    'utc_rd_secs' => 380,
    'utc_year' => 1916
  }, 'DateTime' ),
  'offset_from_std' => 0,
  'offset_from_utc' => 43200,
  'until' => [],
  'utc_start_datetime' => bless( {
    'formatter' => undef,
    'local_rd_days' => 699371,
    'local_rd_secs' => 43580,
    'offset_modifier' => 0,
    'rd_nanosecs' => 0,
    'tz' => bless( {
      'name' => 'floating',
      'offset' => 0
    }, 'DateTime::TimeZone::Floating' ),
    'utc_rd_days' => 699371,
    'utc_rd_secs' => 43580,
    'utc_year' => 1916
  }, 'DateTime' )
}, 'DateTime::TimeZone::OlsonDB::Observance' )
;
sub _last_observance { $last_observance }

my $rules = [
  bless( {
    'at' => '2:00',
    'from' => '2010',
    'in' => 'Oct',
    'letter' => 'S',
    'name' => 'Fiji',
    'offset_from_std' => 3600,
    'on' => 'Sun>=18',
    'save' => '1:00',
    'to' => 'max',
    'type' => undef
  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
  bless( {
    'at' => '3:00',
    'from' => '2012',
    'in' => 'Jan',
    'letter' => '',
    'name' => 'Fiji',
    'offset_from_std' => 0,
    'on' => 'Sun>=18',
    'save' => '0',
    'to' => 'max',
    'type' => undef
  }, 'DateTime::TimeZone::OlsonDB::Rule' )
]
;
sub _rules { $rules }


1;