Yanıtlar:
Google Takvim, keyfi yineleme kuralları oluşturmanıza veya değiştirmenize izin vermese de, kullandığı ve anladığı iCalendar özelliği bu konuda oldukça sağlamdır.
Özel yineleme kuralına (RRULE) sahip bir ICS dosyası oluşturun. Örneğin, her ayın birinci, üçüncü ve beşinci Cuma günleri gerçekleşen ve 2 Mart 2012'den başlayarak tüm gün sürecek bir etkinlik için:
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART;VALUE=DATE:20120302
DTEND;VALUE=DATE:20120302
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1FR,3FR,5FR
DESCRIPTION:
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Event on the first, third, and fifth Fridays.
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
ICS dosyasını içe aktarmak için (Haziran 2018'de güncellendi): Dişli simgesini tıklayın ve "Ayarlar" ı seçin, ardından menüden "Al ve ver" i seçin. ( İşte Haziran 2018'den itibaren doğrudan bir link .) "İçe Aktar" altında, ICS dosyanızı seçin ve istediğiniz takvime yükleyin.
Bu örnekte, Google Takvim RRULE’u doğru şekilde ayrıştırır ve yinelemeyi “Ayın 1, 3, 5’inde Cuma’da Aylık” olarak açıklar:
Elbette, tekrarlama kuralını tamamen standart seçeneklerden biriyle değiştirmek istemediğiniz sürece, özel yineleme kuralını Google Takvim içinden değiştiremezsiniz. Aksi takdirde, etkinliği silmek, ICS dosyanızı değiştirmek ve yeniden içe aktarmak zorunda kalırsınız. Google Takvim’deki etkinlikte, yeniden adlandırma, başka bir takvime taşıma vb. Gibi diğer değişiklikleri de yapabilmeniz gerekir.
Bu yardımcı olursa , iCalendar belirtiminde özel yineleme kurallarının sunduğu esneklik hakkında daha fazla bilgi edinmek isteyebilirsiniz .
Processed one event. Successfully imported 0 events.
'VERSION: 2.0' ve 'PRODID: [soyadım]' ı da eklemeye çalıştım. Her değişiklik aynı sonucu verdi.
Bunu başarmanın tek pratik yolu, biri 1. Cuma’yı tekrarlayan, biri 3. Cuma’yı tekrarlayan ve bir 5. Cuma günü olmak üzere üç ayrı etkinlik oluşturmaktır (her ay 5. Cuma’ya gitmese de).
Güncelleme : Başka bir yöntem benim için ortaya çıkıyor: Ayın ilk Cuma'sında başlayıp her iki haftada bir tekrarlayan ve ayın son gününde biten, her ay için bir tane olmak üzere 12 ayrı yinelenen randevu oluşturmanız gerekir. Sonra o ay, birinci, üçüncü ve eğer varsa, beşinci Cuma günü vuracaksınız.
Burada ele alınan yöntemlerden bazıları artık işe yaramamaktadır, ancak kabul edilen cevap iyi çalışmaktadır.
Heres başka bir yol - ihtiyacınız olan her tekrar için hafta içi her hafta tekrar eden bir etkinlik oluşturun.
İşlem şu: Doğru haftanın bir günü için olay yaratın, sonra tekrarlayın -> Aylık -> Her hafta içi her gün tekrarlayın. Diğer etkinliklerin oluşturulmasını daha hızlı yapmak için etkinliği çoğaltabilirsiniz.
Haftada 5'üncü her gün tekrarlamak için, her beşinci Pazar günü tekrarlanmasına izin veren Google takvim API’sinden yararlanan bir uygulama kullanmanız gerekir. Bu amaç için iyi iş takvimi 2'yi kullanıyorum, fakat aynı zamanda çalışan başkaları da var.
Google API’nin bu davranışı desteklediğine dair kanıt için ekteki fotoğrafa bakın.
ICS dosyası içe aktarımı dışında benim için başka hiçbir yöntem işe yaramadı. İhtiyacım, bir doktorun programında ne olduğunu belirli hafta içi her ayın 5. haftasında belirtmekti. 5. haftaya ihtiyacınız varsa, lütfen bu değiştirilmiş ICS dosyasını örnek olarak kullanmaktan çekinmeyin:
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART;VALUE=DATE:20190430
DTEND;VALUE=DATE:20190430
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=5TU
DESCRIPTION: 5th week test entry
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Test-Event fifth Tuesdays
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
Hızlı Ekleme'yi deneyin ve benzeri bir şey yazın 8:30-10:30 Swimming every 5th sunday of every month
.
5. cuma seçip elle "Her ayın 5. cuma günündeki etkinliğim" açıklama kutusuna el ile yazmanız durumunda, bunları uygun şekilde ekleyecektir. Tabii ki "Etkinliğim" unvanını da değiştirebilirsin.
İşte bir çözüm:
Bir "örnek" ayı yapın, ilk Cuma günü bir Etkinlik, üçüncü Cuma günü bir ve beşinci Cuma günü bir Etkinlik oluşturun.
Her etkinlik için "yinelenen" kutusunu işaretleyin. Yinelenen pencerede, aylık ve ayın gününü kontrol edin.
Etkinliğiniz şimdi bu tarihler boyunca dilediğiniz kadar gösterilecektir.
Serinin ilk gününü Google Takvim’de tıklayın ve "Ne:" alanına "Olayım, her ayın beşinci pazar günü, 12: 30-3: 00" yazın:
İşte daha fazla ayrıntı içeren bir blog yazısı: http://www.amilkhanzada.com/2013/06/google-calendar-repeating-events-on.html
Bir web uygulamasıyla ilgili "yapamazsınız" cevaplarıyla karşılaştığımda, yayınlanmış bir API’si olup olmadığını bulmaya çalışıyorum. Şanslısınız ki, Google Takvim iyi belgelenmiş bir API’ye sahiptir . Böylece ihtiyaçlarınızı herhangi bir programlama dilinde ifade edebilirseniz, bunu yapabilirsiniz. İyi şanslar!
İlk olay için ayın üçüncü cuma gününü seçip ardından aylık seçerseniz, ne yaptığınızı anlar ve tıpkı ekran görüntüsünüz gibi görünür.