The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Date::Step - A basic date iterator

SYNOPSIS

    use Date::Step

    my $step = Date::Step->new();  # new object
    $step->set_start('20051008');  # start date
    $step->set_end('20061008');    # end date
    $step->set_increment('1d12h'); # date increment length
    $step->set_format('%Y %B %e'); # format of returned date string

    my $date;
    do {
      $date = $step->get_current();
      print "$date\n";
    } while ($step->next());

DESCRIPTION

Date::Step is a basic date iterator class.

Returned dates are done so using the convention set up by the Unix 'date' program:

    B = January...December
    b = Jan...Dec
    d = Padded day of month; 01-{28,29,30,31}
    e = zero padded day of month 1-{28,29,30,31}
    h = Jan...Dec
    k = padded hour of day; 00-23
    l = zero padded hour of dayl 0-23
    m = padded month; 01-12
    Y = four digit year
    y = two digit year; 00-99

The default start date is Jan 1 1900, but there is no reason why the date can't be set earlier than that. If there is a max date, it is probably after the year 9999. =head1 AUTHOR

Brett D. Estrade - <estrabd AT mailcan DOT com>

TODO

Write some tests and more useful documentation.

CAVEATS

This module handles hours as the smallest division of time. If you wish to have a more fine grained capability, please let me know.

I am not sure how robust this module is to doing things like changing the format or the increment amount arbitrarily through out the iterative generation of daytes, but I do not see why it would cause problems. The only issue that might possibly come up would be losing some time during the transition phase. Again, I don't know bc I have not tested it.

There is no "previous" date, but it would probably be a neat features.

BUGS

Please send reports to me.

AVAILABILITY

ACKNOWLEDGEMENTS

Bug reports who supply patches for a cool new feature or a bug fix get there name here :)

COPYRIGHT

This code is released under the same terms as Perl.