Jesse Vincent and David Glasser recently released v0.02 of Data::ICal
which included my patches to allow it to parse .ics files. This allowed
me to whip up Data::ICal::DateTime which makes it easy (well, easier at
least) to deal with iCalendars and DateTime.
The long and short of it is that that can do
my $cal = Data::ICal->new('foo.ics');
my $span = DateTime::Span->from_datetimes(start=>$d1, end =>$d2);
# return all events, including instances of recurring events
my @events = $cal->events($span);
# return all events, split multi-day events up
my @events = $cal->events($span, 'day');
Obviously, $span can also be a Set or SpanSet.
Which is all lovely and groovy but, since releasing, I've had the
feeling that my TimeZone support is bogus - not least because if I do
$span->set_time_zone('Europe/London');
then I can wildly different results even though all the events in the
calendar have that TZID
I'm pretty much an idiot when it comes to these things - this module was
cobbled together using the finest cargo cult and suck-it-and-see
technology so I'd appreciate some feed back and pointers on where I
might be going wrong.
Thanks,
Simon
--
rorshach and prozac and everything's groovy