GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DATE::CALC::ITERATOR (3)

.ds Aq ’

NAME

Date::Calc::Iterator - Iterate over a range of dates

CONTENTS

SYNOPSIS



  use Date::Calc::Iterator;

  # This puts all the dates from Dec 1, 2003 to Dec 10, 2003 in @dates1
  # @dates1 will contain ([2003,12,1],[2003,12,2] ... [2003,12,10]) ;
  my $i1 = Date::Calc::Iterator->new(from => [2003,12,1], to => [2003,12,10]) ;
  my @dates1 ;
  push @dates1,$_ while $_ = $i1->next ;

  # Adding an integer step will iterate with the specified step
  # @dates2 will contain ([2003,12,1],[2003,12,3] ... ) ;
  my $i2 = Date::Calc::Iterator->new(from => [2003,12,1], to => [2003,12,10], step => 2) ;
  my @dates2 ;
  push @dates2,$_ while $_ = $i2->next ;



ABSTRACT

Date::Calc::Iterator objects are used to iterate over a range of dates, day by day or with a specified step. The method next() will return each time an array reference containing ($year,$month,$date) for the next date, or undef when finished.

WARNING

This module is little and simple. It solves a little problem in a simple way. It doesn’t attempt to be the smarter module on CPAN, nor the more complete one. If your problem is more complicated than this module can solve, you should go and check DateTime::Event::Recurrence, which solves a so broad range of problems that yours can’t fall out of it.

Probabily this module won’t evolve a lot. Expect bug fixes, minor improvements in the interface, and nothing more. If you need to solve bigger problems, you have two choices: vivifying a 2.x version of the module (after contacting me, of course) or using DateTime::Event::Recurrence and its brothers.

Anyway, I left the name Iterator, and not Iterator::Day or DayIterator, for example, so that the module can evolve if the need be. Who knows? Maybe one day I could need to make it iterate over weekdays, or over moon phases... let’s leave the way open, time will tell.

DESCRIPTION

    new

Creates a new object. You <B>mustB> pass it the end points of a date interval as array references:



  $i = Date::Calc::Iterator->new( from => [2003,12,1], to => [2003,12,10] )



from and to are, obviously, required.

Optionally, you can specify a custom step with the step key, for example:



  $i = Date::Calc::Iterator->new( from => [2003,12,1], to => [2003,12,31],
                            step => 7 ) ;



will iterate on December 2003, week by week, starting from December 1st.

    next

Returns the next date; in list context it returns an array containing year, month and day in this order, or undef if iteration is over; in scalar context, it returns a reference to that array, or undef if iteration is over.

HISTORY

0.01 Original version; created by h2xs 1.22 with options



  -CAX
        -b
        5.6.0
        --use-new-tests
        --skip-exporter
        -O
        -v
        0.01
        Date::Calc::Iterator



SEE ALSO

The wonderful Date::Calc module, on top of which this module is made.

DateTime::Event::Recurrence and all the DateTime family from <http://datetime.perl.org>.

AUTHOR

Marco Marongiu, <bronto@cpan.org>

THANKS

Thanks to Steffen Beyer, for writing his Date::Calc and for allowing me to use his namespace.

Blame on me, for being so lazy (or spare-time-missing) that I didn’t make this module compatible with the Date::Calc::Object interface.

COPYRIGHT AND LICENSE

Copyright 2003 by Marco Marongiu

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 ITERATOR (3) 2004-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.