2013-08-07 38 views

Trả lời

5

bạn không thể đặt ngoại lệ nhưng bạn có thể sử dụng kết hợp giữa ngày và theo tháng: thứ gì đó như sẽ cung cấp cho bạn thứ hai sau cuối tuần có ngày thứ bảy hoặc chủ nhật thứ 15.

RRULE: FREQ = THÁNG; BYDAY = MO; BYMONTHDAY = 16,17

Bằng cách kết hợp với sự kiện khác: RRULE: FREQ = THÁNG; BYDAY = MO, TU, CHÚNG TÔI, TH, FR; BYMONTHDAY = 15

bạn sẽ có mặt ở đó

2

Sử dụng phần BYSETPOS=1 quy tắc, bạn có thể thực hiện điều này trong một sự kiện duy nhất:

RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYMONTHDAY=15,16,17;BYSETPOS=1 

này cho iCal để lặp lại sự kiện hàng tháng; để lặp lại nó chỉ từ thứ Hai đến thứ Sáu; để lặp lại nó chỉ vào ngày 15-17; và chỉ lặp lại nó vào ngày đầu tiên (mỗi tháng) phù hợp với các phần quy tắc trước đó.

BYSETPOS chỉ yêu cầu iCal chọn sự xuất hiện lần thứ N của tập hợp các lần xuất hiện phù hợp với các phần quy tắc khác. Nó có thể được đặt thành danh sách giá trị được phân cách bằng dấu phẩy từ 1 đến 366 hoặc -366 đến -1.

Ví dụ: sửa đổi quy tắc trên để có BYMONTHDAY=15,16,17,29,29,30,31BYSETPOS=1,-1 sẽ khiến sự kiện lặp lại vào ngày đầu tuần đầu tiên vào hoặc sau ngày 15 và ngày trong tuần cuối cùng của tháng.

Nguồn: RFC 2445

Các vấn đề liên quan