]> git.donarmstrong.com Git - deb_pkgs/libhtml-calendarmonth-perl.git/blob - lib/HTML/CalendarMonth/DateTool/TimeLocal.pm
New upstream release
[deb_pkgs/libhtml-calendarmonth-perl.git] / lib / HTML / CalendarMonth / DateTool / TimeLocal.pm
1 package HTML::CalendarMonth::DateTool::TimeLocal;
2 BEGIN {
3   $HTML::CalendarMonth::DateTool::TimeLocal::VERSION = '1.25';
4 }
5
6 # Interface to Time::Local
7
8 use strict;
9 use warnings;
10 use Carp;
11
12 use base qw( HTML::CalendarMonth::DateTool );
13
14 use Time::Local;
15
16 sub dow1st_and_lastday {
17   my($self, $month, $year) = @_;
18   $month ||= $self->month;
19   $year  ||= $self->year;
20   # map month to 0-12
21   --$month;
22   # years since 1900...hooh-rah for POSIX...
23   $year -= 1900;
24   my $nmonth = $month + 1;
25   my $nyear  = $year;
26   if ($nmonth > 11) {
27     # Happy new year
28     $nmonth = 0;
29     ++$nyear;
30   }
31   # Leave dow of 1st in 0-based format
32   my $dow1st  = (gmtime(Time::Local::timegm(0,0,0,1,$month,$year)))[6];
33   # Last day is one day prior to 1st of month after
34   my $lastday = (gmtime(Time::Local::timegm(0,0,0,1,$nmonth,$nyear)
35                         - 60*60*24))[3];
36   ($dow1st, $lastday);
37 }
38
39 1;