Joshua Hoblitt wrote:
> I'm planning on working with Iain and Flavio for any changes needed
> to DT::F::Builder or DT::Duration::Set (when it's written).
Ok, how about this for DT::Duration:Set:
- convert from 'duration' to 'set'
$dt_dur_set = from_durations( durations => [ $dur1, $dur2, $dur3 ] );
# set = ( $dur1, $dur2, $dur3 )
- recurrence:
$dt_dur_hourly = from_recurrence(
next => sub {
my %deltas = $_[0]->deltas;
DateTime::Duration->new(
months => $deltas{months},
days => $deltas{days},
hours => 1 + $deltas{hours}
)
}
);
# set = ( ... -PT2H, -PT1H, PT0, PT1H, PT2H ... )
- set a 'start time', result is a DT::Set
add_datetime( date => $dt )
# DT::Set = ( $dt + $dur1, $dt + $dur2, $dt + $dur3 )
- there are many other possibilities, let me know if you need more:
DT::Dur::Span
DT::Dur::SpanSet
add_datetime_set( $dt_set )
...
Plus all the other common set methods:
empty_set
clone
iterator / as_list
union / intersection / complement
intersects / contains
previous / next / current / closest
- Flavio S. Glock