DateTime-TimeZone-ICal
view release on metacpan or search on metacpan
lib/DateTime/TimeZone/ICal/Parsing.pm view on Meta::CPAN
# these are different from above
my %TYPES = (
DATE => sub { DateTime::Format::ICal->parse_datetime($_[1]) },
'DATE-TIME' => sub { DateTime::Format::ICal->parse_datetime($_[1]) },
DURATION => sub { DateTime::Format::ICal->parse_duration($_[1]) },
FLOAT => sub {
my ($x) = ($_[1] =~ /^\s*([+-]?\d+(?:\.\d+))\s*$/); $x },
INTEGER => sub {
my ($x) = ($_[1] =~ /^\s*([+-]?\d+)\s*$/); $x },
PERIOD => sub {
my ($start, $end) = split m!\s*/+\s*!, $_[1];
$start = DateTime::Format::ICal->parse_datetime($start);
if ($end =~ /^[Pp]/) {
$end = DateTime::Format::ICal->parse_duration($end);
$end = $start + $end;
}
else {
$end = DateTime::Format::ICal->parse_datetime($end);
}
DateTime::Span->from_datetimes(start => $start, end => $end);
( run in 1.425 second using v1.01-cache-2.11-cpan-71847e10f99 )