|
Packit |
95306a |
#!/usr/bin/perl -w
|
|
Packit |
95306a |
# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved.
|
|
Packit |
95306a |
# This program is free software; you can redistribute it and/or modify it
|
|
Packit |
95306a |
# under the same terms as Perl itself.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
# We will store all critical dates for all past years, and years
|
|
Packit |
95306a |
# up to some point in the future. Critical dates past that year
|
|
Packit |
95306a |
# will be calculated on the fly. $keep_years is the number of
|
|
Packit |
95306a |
# years in the future which will be kept explicitly.
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
# This ensures that years in the near future can be accessed quickly,
|
|
Packit |
95306a |
# and that all years past a threshold are assumed to be static
|
|
Packit |
95306a |
# (with respect to how critical dates are calculated).
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
# This is the number of years in the future to keep. For testing
|
|
Packit |
95306a |
# purposes, we'll compare years beyond that to make sure that the
|
|
Packit |
95306a |
# critical dates are constant. This value ($test_years) must be
|
|
Packit |
95306a |
# greater than $keep_years.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
my($keep_years,$test_years);
|
|
Packit |
95306a |
$keep_years = 50;
|
|
Packit |
95306a |
$test_years = 60;
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$curr_year = (localtime)[5] + 1900;
|
|
Packit |
95306a |
$keep_year = $curr_year + $keep_years;
|
|
Packit |
95306a |
$test_year = $curr_year + $test_years;
|
|
Packit |
95306a |
|
|
Packit |
95306a |
# Autogenerated module information
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$zones_pm = "lib/Date/Manip/Zones.pm";
|
|
Packit |
95306a |
$zones_pod = $zones_pm;
|
|
Packit |
95306a |
$zones_pod =~ s/\.pm/.pod/;
|
|
Packit |
95306a |
$mod_dir = "lib/Date/Manip/TZ";
|
|
Packit |
95306a |
$off_dir = "lib/Date/Manip/Offset";
|
|
Packit |
95306a |
|
|
Packit |
95306a |
# Most zones have a LAST RULE that includes exactly 1 ST (i.e. an offset
|
|
Packit |
95306a |
# of 00:00) and 1 DST (some other offset).
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
# The following zones are exceptions:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
%last_zone_offsets =
|
|
Packit |
95306a |
(
|
|
Packit |
95306a |
# "America/Resolute" => { "dst" => 0,
|
|
Packit |
95306a |
# "st" => 2, },
|
|
Packit |
95306a |
);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
# The following zone(s) will not use a LAST RULE to calculate time zone
|
|
Packit |
95306a |
# changes past $keep_year. Instead, they will use all dates from a dump,
|
|
Packit |
95306a |
# and nothing beyond that.
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
# Asia/Jerusalem uses a non-standard way based on the Hebrew calendar.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
%no_last = map { $_,1 } qw(Asia/Jerusalem Asia/Tehran);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
1;
|
|
Packit |
95306a |
|
|
Packit |
95306a |
# Local Variables:
|
|
Packit |
95306a |
# mode: cperl
|
|
Packit |
95306a |
# indent-tabs-mode: nil
|
|
Packit |
95306a |
# cperl-indent-level: 3
|
|
Packit |
95306a |
# cperl-continued-statement-offset: 2
|
|
Packit |
95306a |
# cperl-continued-brace-offset: 0
|
|
Packit |
95306a |
# cperl-brace-offset: 0
|
|
Packit |
95306a |
# cperl-brace-imaginary-offset: 0
|
|
Packit |
95306a |
# cperl-label-offset: 0
|
|
Packit |
95306a |
# End:
|