Date-Piece
    
    
  
  
  
view release on metacpan or search on metacpan
lib/Date/Piece.pm view on Meta::CPAN
24*60**2 seconds to a date&time object, you simply discard the time
component and do math directly on the date.  If you need a time-of-day
on the calculated date, the at() method returns a Time::Piece object,
thus allowing you to be specific about the endpoints of a nominal
interval.
This is useful for constructs such as "tomorrow", "yesterday", "this
time tomorrow", "one week from today", "one month later", "my 31st
birthday", and various other not-necessarily-numeric intervals on the
arbitrary and edge-case-laden division of time known by most earthlings
as "the calendar."  That is, adding days or months is analogous to
counting squares or turning pages on a calendar.
This module extends Date::Simple and connects it to Time::Piece.  See
Date::Simple for more details.
=head1 Immutable
A Date::Piece object never changes.  This means that methods like add_months() always return a new object.
This does not I<appear> to be true with constructs such as C<$date++> or
C<$date+=7>, but what is actually happening is that perl treats the
lib/Date/Piece.pm view on Meta::CPAN
    my $now = $self; $self += $dir;
    return($now);
  };
} # end subroutine iterator definition
########################################################################
=head1 Fuzzy Math
We can do math with months and years as long as you're flexible about
the day of the month.  The theme here is to keep the answer within the
destination calendar month rather than adding e.g. 30 days.
=head2 adjust_day_of_month
Returns a valid date even if the given day is beyond the last day of the
month (returns the last day of that month.)
  $date = adjust_day_of_month($y, $m, $maybe_day);
=cut
( run in 0.491 second using v1.01-cache-2.11-cpan-5dc5da66d9d )