Changeset 24524
- Timestamp:
- 11/21/08 01:06:08 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/DateTime-Lite/trunk/lib/DateTime/Lite/TimeZone.pm
r24512 r24524 15 15 use DateTime::Lite::TimeZone::UTC; 16 16 use DateTime::Lite::OlsonDB; 17 18 our %CachedTimeZones; 17 19 18 20 use constant INFINITY => 100 ** 1000 ; … … 35 37 my $name = $p{name}; 36 38 my $conf; 39 my $zone; 37 40 if (defined $name) { 38 41 if ( exists $DateTime::Lite::TimeZone::Catalog::LINKS{ $name } ) { … … 41 44 $name = $DateTime::Lite::TimeZone::Catalog::LINKS{ uc $name }; 42 45 } 43 46 } 47 48 if (defined $name) { 49 return $CachedTimeZones{$name} if $CachedTimeZones{$name}; 44 50 unless ( $name =~ m,/, || $SpecialName{ $name }) { 45 51 if ( $name eq 'floating' ) { 46 return DateTime::Lite::TimeZone::Floating->new;52 return $CachedTimeZones{$name} = DateTime::Lite::TimeZone::Floating->new; 47 53 } 48 54 if ( $name eq 'local' ) { 49 return DateTime::Lite::TimeZone::Local->TimeZone();55 return $CachedTimeZones{$name} = DateTime::Lite::TimeZone::Local->TimeZone(); 50 56 } 51 57 52 58 if ( $name eq 'UTC' || $name eq 'Z' ) { 53 return DateTime::Lite::TimeZone::UTC->new;59 return $CachedTimeZones{$name} = DateTime::Lite::TimeZone::UTC->new; 54 60 } 55 61 56 return DateTime::Lite::TimeZone::OffsetOnly->new( offset => $name );62 return $CachedTimeZones{$name} = DateTime::Lite::TimeZone::OffsetOnly->new( offset => $name ); 57 63 } 64 58 65 $conf = _load_time_zone($name); 59 66 } … … 63 70 } 64 71 65 my$zone = $class->new(%$conf);72 $zone = $class->new(%$conf); 66 73 67 74 if ( $zone->is_olson() ) { … … 78 85 } 79 86 87 $CachedTimeZones{$name} = $zone; 80 88 return $zone; 81 89 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)