有一个庞大的Perl模块Data::ICal可以创建可以添加到mac上的日历应用程序的iCal文件(它们也可以添加到很多其他程序中)。
我使用过Data::ICal并编写了一个创建iCal文件的简单脚本。我已经添加了日历应用程序,它工作正常。
以下是列表:
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
use Data::ICal;
use Data::ICal::Entry::Event;
use Date::ICal;
use File::Slurp;
my $calendar = Data::ICal->new();
my $ical_date = Date::ICal->new(
year => 2013,
month => 9,
day => 6,
);
my $event = Data::ICal::Entry::Event->new();
$event->add_properties(
summary => "my party",
description => "I'll cry if I want to",
dtstart => $ical_date->ical(),
);
$calendar->add_entry($event);
write_file('sample.ics', $calendar->as_string);
但是现在我想把这个事件标记为持续一整天。我已经把模块源代码文档和代码搞砸了,但我找不到办法。
如何将此活动标记为持续一整天?
答案 0 :(得分:2)
根据内部连接上的这个description,您需要做的就是将dtstart
和dtend
设置为YYYYMMDD
(无小时或以下),其中开始日期(你的派对)并在第二天结束。
至少使用雷鸟/太阳鸟,这完美无缺:
#!/usr/bin/perl
use strict;
use Data::ICal;
use Data::ICal::Entry::Event;
use File::Slurp;
my $calendar = Data::ICal->new();
my $event = Data::ICal::Entry::Event->new();
$event->add_properties(
summary => "my party",
description => "I'll cry if I want to",
dtstart => "20130906",
dtend => "20130907",
);
$calendar->add_entry($event);
write_file('sample.ics', $calendar->as_string);