Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: A question to iterator in Datetime::Event::Recurrence

by fglock (Vicar)
on Apr 11, 2012 at 12:07 UTC ( [id://964527]=note: print w/replies, xml ) Need Help??


in reply to A question to iterator in Datetime::Event::Recurrence

The parameters specify the occurrences "inside" the base unit:

my $day_set = DateTime::Event::Recurrence->daily( hours => [ 7 .. 22 ] );

This may be a bit unexpected, I agree it should be better documented.

Replies are listed 'Best First'.
Re^2: A question to iterator in Datetime::Event::Recurrence
by vagabonding electron (Curate) on Apr 11, 2012 at 13:12 UTC
    Now tested it.
    The code
    #!/usr/bin/perl use strict; use warnings; use DateTime; use DateTime::Event::Recurrence; use DateTime::Format::Strptime; my $strp = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d %T', ); my $datf = qq{2012-01-01 04:00:00}; my $datt = qq{2012-01-02 23:00:00}; my $start = $strp->parse_datetime($datf); my $end = $strp->parse_datetime($datt); my $day_set = DateTime::Event::Recurrence->daily( hours => [7, 22], ); my $it = $day_set->iterator ( start => $start->truncate(to=>"hour"), before => $end->truncate(to=>"hour"), ); while ( my $dt = $it->next() ) { print $dt->datetime(), "\n"; }
    prints:
    2012-01-01T07:00:00 2012-01-01T22:00:00 2012-01-02T07:00:00 2012-01-02T22:00:00

    The desired output should be:
    2012-01-01T08:00:00 2012-01-01T09:00:00 2012-01-01T10:00:00 2012-01-01T11:00:00 2012-01-01T12:00:00 2012-01-01T13:00:00 2012-01-01T14:00:00 2012-01-01T15:00:00 2012-01-01T16:00:00 2012-01-01T17:00:00 2012-01-01T18:00:00 2012-01-01T19:00:00 2012-01-01T20:00:00 2012-01-01T21:00:00 2012-01-01T22:00:00 2012-01-02T08:00:00 2012-01-02T09:00:00 2012-01-02T10:00:00 2012-01-02T11:00:00 2012-01-02T12:00:00 2012-01-02T13:00:00 2012-01-02T14:00:00 2012-01-02T15:00:00 2012-01-02T16:00:00 2012-01-02T17:00:00 2012-01-02T18:00:00 2012-01-02T19:00:00 2012-01-02T20:00:00 2012-01-02T21:00:00 2012-01-02T22:00:00
    which is produced by your code from Re^5: A question to iterator in Datetime::Event::Recurrence but not the above code.
    ... This assumed that I understood everything correctly :-)
    Greetings, VE

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://964527]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (6)
As of 2024-04-16 07:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found