package DateTime::TimeZone::Asia::Ulaanbaatar;
use strict;
use Class::Singleton;
use DateTime::TimeZone;
use DateTime::TimeZone::OlsonDB;
@DateTime::TimeZone::Asia::Ulaanbaatar::ISA = ( 'Class::Singleton', 'DateTime::TimeZone' );
my $spans =
[
[
DateTime::TimeZone::NEG_INFINITY,
60102751948,
DateTime::TimeZone::NEG_INFINITY,
60102777600,
25652,
0,
'LMT'
],
[
60102751948,
62388118800,
60102777148,
62388144000,
25200,
0,
'ULAT'
],
[
62388118800,
62553657600,
62388147600,
62553686400,
28800,
0,
'ULAT'
],
[
62553657600,
62569465200,
62553690000,
62569497600,
32400,
1,
'ULAST'
],
[
62569465200,
62585280000,
62569494000,
62585308800,
28800,
0,
'ULAT'
],
[
62585280000,
62601012000,
62585312400,
62601044400,
32400,
1,
'ULAST'
],
[
62601012000,
62616736800,
62601040800,
62616765600,
28800,
0,
'ULAT'
],
[
62616736800,
62632461600,
62616769200,
62632494000,
32400,
1,
'ULAST'
],
[
62632461600,
62648186400,
62632490400,
62648215200,
28800,
0,
'ULAT'
],
[
62648186400,
62663911200,
62648218800,
62663943600,
32400,
1,
'ULAST'
],
[
62663911200,
62679636000,
62663940000,
62679664800,
28800,
0,
'ULAT'
],
[
62679636000,
62695360800,
62679668400,
62695393200,
32400,
1,
'ULAST'
],
[
62695360800,
62711085600,
62695389600,
62711114400,
28800,
0,
'ULAT'
],
[
62711085600,
62726810400,
62711118000,
62726842800,
32400,
1,
'ULAST'
],
[
62726810400,
62742535200,
62726839200,
62742564000,
28800,
0,
'ULAT'
],
[
62742535200,
62758260000,
62742567600,
62758292400,
32400,
1,
'ULAST'
],
[
62758260000,
62773984800,
62758288800,
62774013600,
28800,
0,
'ULAT'
],
[
62773984800,
62790314400,
62774017200,
62790346800,
32400,
1,
'ULAST'
],
[
62790314400,
62806039200,
62790343200,
62806068000,
28800,
0,
'ULAT'
],
[
62806039200,
62821764000,
62806071600,
62821796400,
32400,
1,
'ULAST'
],
[
62821764000,
62837488800,
62821792800,
62837517600,
28800,
0,
'ULAT'
],
[
62837488800,
62853213600,
62837521200,
62853246000,
32400,
1,
'ULAST'
],
[
62853213600,
62868938400,
62853242400,
62868967200,
28800,
0,
'ULAT'
],
[
62868938400,
62884663200,
62868970800,
62884695600,
32400,
1,
'ULAST'
],
[
62884663200,
62900388000,
62884692000,
62900416800,
28800,
0,
'ULAT'
],
[
62900388000,
62916112800,
62900420400,
62916145200,
32400,
1,
'ULAST'
],
[
62916112800,
62931837600,
62916141600,
62931866400,
28800,
0,
'ULAT'
],
[
62931837600,
62947562400,
62931870000,
62947594800,
32400,
1,
'ULAST'
],
[
62947562400,
62963892000,
62947591200,
62963920800,
28800,
0,
'ULAT'
],
[
62963892000,
62979616800,
62963924400,
62979649200,
32400,
1,
'ULAST'
],
[
62979616800,
62995341600,
62979645600,
62995370400,
28800,
0,
'ULAT'
],
[
62995341600,
63011066400,
62995374000,
63011098800,
32400,
1,
'ULAST'
],
[
63011066400,
63026791200,
63011095200,
63026820000,
28800,
0,
'ULAT'
],
[
63026791200,
63042516000,
63026823600,
63042548400,
32400,
1,
'ULAST'
],
[
63042516000,
63124077600,
63042544800,
63124106400,
28800,
0,
'ULAT'
],
[
63124077600,
63137379600,
63124110000,
63137412000,
32400,
1,
'ULAST'
],
[
63137379600,
63153108000,
63137408400,
63153136800,
28800,
0,
'ULAT'
],
[
63153108000,
63168829200,
63153140400,
63168861600,
32400,
1,
'ULAST'
],
[
63168829200,
63184557600,
63168858000,
63184586400,
28800,
0,
'ULAT'
],
[
63184557600,
63200278800,
63184590000,
63200311200,
32400,
1,
'ULAST'
],
[
63200278800,
63216007200,
63200307600,
63216036000,
28800,
0,
'ULAT'
],
[
63216007200,
63231728400,
63216039600,
63231760800,
32400,
1,
'ULAST'
],
[
63231728400,
63247456800,
63231757200,
63247485600,
28800,
0,
'ULAT'
],
[
63247456800,
63263178000,
63247489200,
63263210400,
32400,
1,
'ULAST'
],
[
63263178000,
63278906400,
63263206800,
63278935200,
28800,
0,
'ULAT'
],
[
63278906400,
63295232400,
63278938800,
63295264800,
32400,
1,
'ULAST'
],
[
63295232400,
63310960800,
63295261200,
63310989600,
28800,
0,
'ULAT'
],
[
63310960800,
63326682000,
63310993200,
63326714400,
32400,
1,
'ULAST'
],
[
63326682000,
63342410400,
63326710800,
63342439200,
28800,
0,
'ULAT'
],
[
63342410400,
63358131600,
63342442800,
63358164000,
32400,
1,
'ULAST'
],
[
63358131600,
63373860000,
63358160400,
63373888800,
28800,
0,
'ULAT'
],
[
63373860000,
63389581200,
63373892400,
63389613600,
32400,
1,
'ULAST'
],
[
63389581200,
63405309600,
63389610000,
63405338400,
28800,
0,
'ULAT'
],
[
63405309600,
63421030800,
63405342000,
63421063200,
32400,
1,
'ULAST'
],
[
63421030800,
63436759200,
63421059600,
63436788000,
28800,
0,
'ULAT'
],
[
63436759200,
63452480400,
63436791600,
63452512800,
32400,
1,
'ULAST'
],
[
63452480400,
63468813600,
63452509200,
63468842400,
28800,
0,
'ULAT'
],
[
63468813600,
63484534800,
63468846000,
63484567200,
32400,
1,
'ULAST'
],
[
63484534800,
63500263200,
63484563600,
63500292000,
28800,
0,
'ULAT'
],
[
63500263200,
63515984400,
63500295600,
63516016800,
32400,
1,
'ULAST'
],
[
63515984400,
63531712800,
63516013200,
63531741600,
28800,
0,
'ULAT'
],
[
63531712800,
63547434000,
63531745200,
63547466400,
32400,
1,
'ULAST'
],
[
63547434000,
63563162400,
63547462800,
63563191200,
28800,
0,
'ULAT'
],
[
63563162400,
63578883600,
63563194800,
63578916000,
32400,
1,
'ULAST'
],
[
63578883600,
63594612000,
63578912400,
63594640800,
28800,
0,
'ULAT'
],
[
63594612000,
63610333200,
63594644400,
63610365600,
32400,
1,
'ULAST'
],
[
63610333200,
63626061600,
63610362000,
63626090400,
28800,
0,
'ULAT'
],
[
63626061600,
63642387600,
63626094000,
63642420000,
32400,
1,
'ULAST'
],
];
sub has_dst_changes { 33 }
sub _max_year { 2016 }
sub _new_instance
{
return shift->_init( @_, spans => $spans );
}
sub _last_offset { 28800 }
my $last_observance = bless( {
'format' => 'ULA%sT',
'gmtoff' => '8:00',
'local_start_datetime' => bless( {
'formatter' => undef,
'local_rd_days' => 722085,
'local_rd_secs' => 3600,
'offset_modifier' => 0,
'rd_nanosecs' => 0,
'tz' => bless( {
'name' => 'floating',
'offset' => 0
}, 'DateTime::TimeZone::Floating' ),
'utc_rd_days' => 722085,
'utc_rd_secs' => 3600,
'utc_year' => 1979
}, 'DateTime' ),
'offset_from_std' => 0,
'offset_from_utc' => 28800,
'until' => [],
'utc_start_datetime' => bless( {
'formatter' => undef,
'local_rd_days' => 722084,
'local_rd_secs' => 61200,
'offset_modifier' => 0,
'rd_nanosecs' => 0,
'tz' => bless( {
'name' => 'floating',
'offset' => 0
}, 'DateTime::TimeZone::Floating' ),
'utc_rd_days' => 722084,
'utc_rd_secs' => 61200,
'utc_year' => 1978
}, 'DateTime' )
}, 'DateTime::TimeZone::OlsonDB::Observance' )
;
sub _last_observance { $last_observance }
my $rules = [
bless( {
'at' => '2:00',
'from' => '2001',
'in' => 'Sep',
'letter' => '',
'name' => 'Mongol',
'offset_from_std' => 0,
'on' => 'lastSat',
'save' => '0',
'to' => 'max',
'type' => undef
}, 'DateTime::TimeZone::OlsonDB::Rule' ),
bless( {
'at' => '2:00',
'from' => '2002',
'in' => 'Mar',
'letter' => 'S',
'name' => 'Mongol',
'offset_from_std' => 3600,
'on' => 'lastSat',
'save' => '1:00',
'to' => 'max',
'type' => undef
}, 'DateTime::TimeZone::OlsonDB::Rule' )
]
;
sub _rules { $rules }
1;