package HTML::CalendarMonth::DateTool::DateTime;
+{
+ $HTML::CalendarMonth::DateTool::DateTime::VERSION = '1.26';
+}
# Interface to DateTime
use strict;
+use warnings;
use Carp;
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(HTML::CalendarMonth::DateTool);
-
-$VERSION = '0.02';
+use base qw( HTML::CalendarMonth::DateTool );
use DateTime;
sub day_epoch {
my($self, $day, $month, $year) = @_;
- $day || croak "Day required.\n";
+ $day || croak "day required.\n";
$month ||= $self->month;
$year ||= $self->year;
my $dt = $self->_new_dt($year, $month, $day);
sub dow {
my($self, $day, $month, $year) = @_;
- $day || croak "Day required.\n";
+ $day || croak "day required.\n";
$month ||= $self->month;
$year ||= $self->year;
my $dt = $self->_new_dt($year, $month, $day);
- $dt->dow;
+ # convert from 1..7, starting with Mon, to 0..6, starting with Sun
+ $dt->dow % 7;
}
sub add_days {
my($self, $delta, $day, $month, $year) = @_;
- defined $delta || croak "Delta (in days) required.\n";
- $day || croak "Day required.\n";
+ defined $delta || croak "delta (in days) required.\n";
+ $day || croak "day required.\n";
$month ||= $self->month;
$year ||= $self->year;
my $dt = $self->_new_dt($year, $month, $day);
sub week_of_year {
my($self, $day, $month, $year) = @_;
- $day || croak "Day required.\n";
+ $day || croak "day required.\n";
$month ||= $self->month;
$year ||= $self->year;
my $dt = $self->_new_dt($year, $month, $day);
sub _last_dom_dt {
my $self = shift;
my($year, $month) = @_;
- $year && $month or croak "Year and month required.\n";
+ $year && $month or croak "year and month required.\n";
DateTime->last_day_of_month(year => $year, month => $month);
}