#! /usr/bin/perl # # scalen.cgi # トップページ用SSIカレンダー # # 1.0 : 1/29/07 : Initial revision. # # http://www.hidekik.com # # Copyright(c) 2007, Hideki Kanayama All Rights Reserved use CGI::Carp qw(fatalsToBrowser); use Time::Local; # Use localtime? my $localtime_en = 0; # Offset from GMT if $localtime_en = 0 my $offset = 9; my $now = time; my ($reqsec,$reqmin,$reqhour,$reqday,$reqmon,$reqyear,$reqwday,$reqyday,$reqisdst) = $localtime_en ? localtime($now) : gmtime($now); my @weekname = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday); my @monname = qw(January February March April May June July August September October November December); my $starttime = $localtime_en ? timelocal(0,0,0,1,$reqmon,$reqyear) : timegm(0,0,0,1,$reqmon,$reqyear); my ($ssec,$smin,$shour,$sday,$smon,$syear,$swday,$syday,$sisdst) = $localtime_en ? localtime($starttime) : gmtime($starttime); my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst); print "Content-Type: text/html\n\n"; my $tmp = $reqyear+1900; my $border; my $align; $border=0; $align = "center"; print "
| \n";
print " | ||||||
| "; if ($day == 0){ print ""; } elsif ($day == 6) { print ""; } print substr($weekname[$day],0,1); if ($day == 0){ print ""; } elsif ($day == 6) { print ""; } print " | \n"; } else { print ""; if ($week == 0 and $day >= $swday or $week > 0){ my $today = $starttime + ($day - $swday + $week * 7) * 86400; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = $localtime_en ? localtime($today) : gmtime($today); if ($mon == $reqmon){ if ($wday == 0){ print ""; } elsif ($wday == 6) { print ""; } print "$mday"; if ($wday == 0){ print ""; } elsif ($wday == 6) { print ""; } } else { print " "; } } else { print " "; } print " | \n"; } } print "|||||