]>
git.p6c8.net - selfforum.git/blob - selfforum-cgi/shared/Time/German.pm
3 ################################################################################
5 # File: shared/Time/German.pm #
7 # Authors: Andre Malo <nd@o3media.de>, 2001-06-10 #
9 # Description: determine time offset German Time <=> GMT (seconds) #
11 ################################################################################
19 ################################################################################
23 $VERSION = do { my @r =(q
$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x
$#r, @r };
25 ################################################################################
30 @EXPORT = qw(localtime);
32 ################################################################################
34 # german summertime 1980-1995 (ydays)
55 ### localtime () ###############################################################
57 # like 'localtime', but system independent
59 # Params: $time - time since epoch (GMT)
61 # Return: same as localtime, but german time ;-)
65 $time = time unless defined $time;
67 my ($hour,$mday,$mon,$year,$wday,$yday) = (gmtime($time))[qw(2 3 4 5 6 7)];
72 if ($summertime{$year}) {
75 $yday > $summertime{$year} -> [0] and
76 $yday < $summertime{$year} -> [1]
79 $yday == $summertime{$year} -> [0] and
83 $yday == $summertime{$year} -> [1] and
92 # determine last Sunday in March or October
94 my $limit = $mday + int((31-$mday)/7) * 7 - $wday if ($mon == 2 or $mon == 9);
120 return gmtime($time + $offset * 3600);
123 # keep 'require' happy
128 ### end of Time::German ########################################################
patrick-canterino.de