2016-07-10 7 views
3

私はGoogleカレンダーAPIとインターフェイスするいくつかのソフトウェアを開発しています。ユーザーが利用できる1つの機能は、1つの「クラス」に対して複数のイベント時刻を設定することです(つまり、クラスは数日他は3-6)。iCalendar仕様RRULE複数回?

繰り返しルールで、異なる日に異なる時刻を指定することができますが、複数のイベントではなく1つの繰り返しイベントを作成できますか?

ありがとうございました!

答えて

3

繰り返しルールでは、異なる日に異なる時刻を指定することができますが、複数の代わりに1つの繰り返しイベントを作成できますか?

いいえ、実際はありませんが、他の方法でこの結果を達成できます。

  • パターンがある場合は、複数のRRULEを組み合わせることができます。たとえば、1日おきに2月曜日から1日おきに繰り返し、2日目は火曜日から3日おきに1日おきに繰り返されます。結果は月曜日が2、月が3、水曜日が2のようになります。 RFCによると、あなたは、それを複数回指定してはいけません複数のRRULEhttps://tools.ietf.org/html/rfc5545#section-3.8.5.3を参照)

を定義すべきではありませんけれども。 複数の「RRULE」プロパティで生成された反復セットは、 未定義です。

したがって、動作は実際の実装に依存し、GoogleカレンダーAPIについてはわかりません。私が知っているほとんどのライブラリは複数のRRULEをサポートしていますので、試してみてください。

  • また、パターンがある場合は、BYSETPOSも使用できます。これは、あなたの頭をこの周りに囲むのはちょっと複雑ですが、基本的には一連のオカレンス(例えば、1週間以上)を生成してから、チェリーは有効なものを選ぶ必要があります。この(明確にするためのマルチライン)のようなものを試してみてください:
 
DTSTART=20160711T140000 
FREQ=WEEKLY 
BYDAY=MO,TU,WE,TH,FR 
BYHOUR=14,15 
BYSETPOS=1,4,5,8,9 

これには、2水曜日、3時火曜日、2月曜日交互に、かつます。この場合も、明確な繰り返しパターンが必要です。

  • そこにはパターンがありませんし、あなただけの特別な出来事を追加または削除するRDATEEXDATEであなたのRRULEを組み合わせ、異なる時間といくつかの日を持っているしたい場合。
+0

正確に私が探していた答えです、ありがとう! – ccrama