This is an intentional feature - DTSTART is not an RRULE component.
An iCalendar text looks like:
DTSTART:19870405T02
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
reference: http://www.ietf.org/rfc/rfc2445.txt
Flávio S. Glock
2009/2/18 Olivier Mengué :
> Hi,
>
> I have a problem with this expression (Second wednesday of every month, at
> 20:00) that I'm using with DateTime::Format::ICal->parse_recurrence() :
> FREQ=MONTHLY;BYDAY=2WE;DTSTART=20090201T20Z;COUNT=12
>
> Here is the test case:
> perl -MDateTime::Format::ICal -e
> "DateTime::Format::ICal->parse_recurrence(recurrence=>'FREQ=MONTHLY;BYDAY=2WE;DTSTART=20090201T20Z;COUNT=12')"
> The 'start' parameter ("20090201t20z") to DateTime::Span::from_datetimes
> was a 'scalar', which is not one of the allowed types: object
> at C:/strawberry/perl/site/lib/DateTime/Span.pm line 37
>DateTime::Span::from_datetimes(undef, 'start', '20090201t20z')
> called at C:/strawberry/perl/site/lib/DateTime/Event/ICal.pm line 515
>DateTime::Event::ICal::recur('DateTime::Event::ICal', 'freq', 'monthly',
> 'byday', 'ARRAY(0x11f805c)', 'dtstart', '20090201t20z') called at
> C:/strawberry/perl/site/lib/DateTime/Event/ICal.pm line 501
>DateTime::Event::ICal::recur('DateTime::Event::ICal', 'count', 12,
> 'freq', 'monthly', 'byday', 'ARRAY(0x11f805c)', 'dtstart',
> '20090201t20z', ...) called at
> C:/strawberry/perl/site/lib/DateTime/Format/ICal.pm line 173
>DateTime::Format::ICal::parse_recurrence(undef, 'recurrence',
> 'FREQ=MONTHLY;BYDAY=2WE;DTSTART=20090201T20Z;COUNT=12', 'dtstart',
> 'DateTime=HASH(0x11f772c)') called at C:/Documents and
> Settings/omengue/Documents/Eclipse/Test POE Scheduler/test-ical-recur.pl
> line 31
>
>
> It looks like a conversion of the string value of dtstart to a DateTime
> object is missing...
>
> Olivier
> http://o.mengue.free.fr/
>