我想通过附件中的邮件发送预订信息以添加到MS Outlook中.哪种格式更好?特别是对于MS Outlook 2003?
我正在生成ICalendar(.ics)文件.
使用UID和SEQUENCE字段,我可以更新Google日历和Windows日历中的现有事件,但不能更新 MS Outlook 2007中的现有事件- 它只会创建第二个事件
如何让他们为Outlook工作?
谢谢
汤姆
在原生Android日历应用中,RFC 2445协议用于创建.ics文件.我在一些博客中发现RFC 2445已被RFC 5545取代.任何人都可以告诉我RFC 5545中的额外功能是什么以及它与RFC 2445有什么不同?
嗨,我刚刚发现了ics文件格式,我想知道是否可以在一个事件条目中包含一个或两个警报点,这些警报点会自动被捡起来?
码:
BEGIN:VEVENT
DTSTART;TZID=Europe/Amsterdam:20130214T190000
DTEND;TZID=Europe/Amsterdam:20130214T190000
URL:http://www.myurl.com
DTSTAMP:20130205T114500
UID:
CREATED:20130214T190000
DESCRIPTION:Wedstrijd":" 3000H5B2 CE\, Datum":" donderdag 14 februari - 19.00
Run Code Online (Sandbox Code Playgroud)
对于警报,例如:
DTALERT1;Europe/Amsterdam:20130213T190000
Run Code Online (Sandbox Code Playgroud)
甚至更好:
DTALERT1;DTSTART-24H
Run Code Online (Sandbox Code Playgroud) 是否有适用于Javascript的iCalendar库 - 解析器或日历对象本身?
为了测试google-rfc-2445(IETF RFC 2445 iCalendar的Java实现)的性能,我经历了很多RRULE .
我看到在某些情况下我从方法的返回列表中得到了开始日期.
测试很简单:
private static void runGoogleTests() throws ParseException
{
DateTimeZone dtz = DateTimeZone.UTC;
DateTime dtStart = new DateTime("2014-11-22T00:00:00Z", dtz);//SATURDAY
DateTimeIterable dti = DateTimeIteratorFactory.createDateTimeIterable("RRULE:FREQ=WEEKLY;COUNT=10;BYDAY=MO", dtStart, dtz, true);
System.out.println("Size of iterable = " + Iterators.size(dti.iterator()));
for(DateTime dateTime : dti)
{
System.out.println(dateTime);
}
}
Run Code Online (Sandbox Code Playgroud)
工厂返回的列表返回此列表.
第一个日期是开始日期,这是一个不应该在那里的星期六.RRULE还包含一个COUNT = 10,为什么返回11?
Size of iterable = 11
2014-11-22T00:00:00.000Z
2014-11-24T00:00:00.000Z
2014-12-01T00:00:00.000Z
2014-12-08T00:00:00.000Z
2014-12-15T00:00:00.000Z
2014-12-22T00:00:00.000Z
2014-12-29T00:00:00.000Z
2015-01-05T00:00:00.000Z
2015-01-12T00:00:00.000Z
2015-01-19T00:00:00.000Z
2015-01-26T00:00:00.000Z
Run Code Online (Sandbox Code Playgroud)
使用Google-rfc-2445的人之前一定遇到过这个问题吗?
我在项目页面上发布了这个问题,但那里非常安静. 链接到google-rfc-2445页面上的问题
ICS与Gmail/Google日历地址的附件存在问题.当我必须编辑事件时,我通过邮件发送更新,其中ICS文件与原始事件的UID相同.但是,GCalendar添加了第二个事件.我怎么能克服这个?
这是第一个ICS文件内容:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20130425T090000
DTEND:20130425T100000
DTSTAMP:20130206T101100
ORGANIZER;CN=Test test:mailto:test@test.com
ATTENDEE:test@test.eu
UID:CALEVENT_TS090519840000000005
DESCRIPTION:test
SUMMARY:test
LOCATION:Test
SEQUENCE:1
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
这是更新ICS文件内容:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20130425T100000
DTEND:20130425T110000
DTSTAMP:20130206T101100
ORGANIZER;CN=Test test:mailto:test@test.com
ATTENDEE:test@test.eu
UID:CALEVENT_TS090519840000000005
DESCRIPTION:test
SUMMARY:test
LOCATION:Test
SEQUENCE:2
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
当我收到更新文件并点击"将此事件添加到日历"时,我会发现两个不同的事件.
这是原始的原始电子邮件:
Delivered-To: test@test.eu
Received: by 10.216.231.19 with SMTP id k19csp190640weq;
Sat, 9 Feb 2013 08:01:11 -0800 (PST)
X-Received: by 10.194.7.136 with SMTP id j8mr15530679wja.38.1360425671327;
Sat, 09 Feb 2013 08:01:11 -0800 (PST)
Return-Path: <test@test.eu>
Received: from mxavas8.aruba.it (mxavas8.aruba.it. [62.149.157.18]) …Run Code Online (Sandbox Code Playgroud) 我正在使用Google的RFC2445实施(http://code.google.com/p/google-rfc-2445/)来实现重复规则.如果我定义从1月30日开始的每月重复,则将完全跳过少于30天(即2月)的月份.所以Google API将于1月30日,3月30日,4月30日等回归.不太好.我希望它能回归:1月30日,2月28日,3月30日,4月30日.
同样,如果我选择了1月31日的开始日期,那么将跳过少于31天的任何月份.
根据RFC2445规范,这可能是正确的,也可能是错误.你怎么看?
我的主要问题是,是否有任何方法可以定义一条规则,即"每月30日复发;或者如果30日不存在则在该月的最后一天".我不相信有.有什么建议?
提前致谢.
此致,科马克
我有带有RRULE的iCalendar文件.如何根据给定的开始日期和iCal文件中的RRULE获取事件发生日期的列表.
在Java中,我想编写一个方法,该方法应该采用开始日期和RRULE并返回发生日期列表.请帮助解决简单的解决方案或方向.