Detail Penting iCalendar RFC 2445

Tentang Model Objek Aspose iCalendar

Aspose.Email berisi semua kelas yang disediakan oleh Aspose iCalendar komponen RecurrencePattern dan RecurrenceRule adalah kelas inti dari Aspose iCalendar, dan menyediakan implementasi konkret dari elemen RFC 2445 yang bersangkutan.

The RecurrencePattern kelas mewakili seluruh pola pengulangan. Anda dapat membuat pola pengulangan baru dari awal menggunakan konstruktor default atau memuat pola yang ada di CalendarRecurrence. The RecurrenceRule kelas mewakili bagian RRULE atau EXRULE dari pola pengulangan. RecurrenceRule menyajikan sejumlah properti yang langsung memetakan ke padanan mereka dalam standar iCalendar. Misalnya, ByMonth memetakan ke BYMONTH dalam iCalendar dan seterusnya. Dengan memeriksa atau mengatur nilai-nilai dari RecurrenceRule properti yang dapat Anda analisis atau ubah aturan pengulangan. Untuk informasi lebih lanjut dan contoh kode, lihat RecurrencePattern dan RecurrenceRule dalam Referensi API.

Detail Penting iCalendar RFC 2445

Bagian ini mencakup topik-topik berikut:

  • Format Tanggal dan Waktu.
  • DATE.
  • DATE-TIME dengan Waktu Lokal.
  • DATE-TIME dengan Waktu UTC.
  • DATE-TIME dengan Waktu Lokal dan Zona Waktu.
  • BYWEEKNO Menyediakan Kepatuhan ISO 8601

Format Tanggal dan Waktu

Tanggal, atau tanggal dengan waktu terkait, dapat digunakan dalam elemen DTSTART, UNTIL, EXDATE, dan RDATE saat menentukan pola pengulangan. iCalendar mendefinisikan tipe nilai DATE untuk mengidentifikasi nilai yang berisi tanggal kalender dan juga mendefinisikan tipe DATE-TIME untuk mengidentifikasi nilai yang menentukan tanggal kalender dan waktu hari yang tepat. Nilai DATE-TIME dapat ditentukan dalam tiga bentuk, dengan:

  • Waktu lokal.
  • Waktu UTC.
  • Waktu lokal dan zona waktu.

DATE

Menurut standar iCalendar, nilai DATE harus mengikuti format yyyyMMdd. Contoh berikut mewakili 14 Juli 1997: 19970714

DATE-TIME dengan Waktu Lokal

Tanggal dengan bentuk waktu lokal hanyalah nilai tanggal-waktu yang tidak mengandung penanda UTC, dan tidak merujuk ke zona waktu apa pun. Misalnya, berikut ini mewakili 18 Januari 1998, pukul 23:00: DTSTART:19980118T230000. Nilai tanggal-waktu jenis ini disebut "floating" dan tidak terikat pada zona waktu tertentu. Mereka digunakan untuk merepresentasikan nilai jam, menit, dan detik yang sama terlepas dari zona waktu yang sedang diamati.

DATE-TIME dengan Waktu UTC

Tanggal dengan waktu UTC, atau waktu absolut, diidentifikasi dengan karakter sufiks HURUF KAPITAL LATIN Z, penanda UTC, yang ditambahkan ke nilai waktu. Misalnya, berikut ini mewakili 19 Januari 1998, pukul 07:00 UTC: DTSTART:19980119T070000Z Harap perhatikan bahwa Aspose iCalendar mengabaikan sufiks format UTC Z dan memperlakukan waktu sebagai waktu lokal. Standar RFC2445 menyatakan bahwa bagian waktu yang ditentukan dalam aturan UNTIL pola pengulangan harus dalam format UTC. Ini adalah pernyataan yang sangat aneh, dan sebenarnya ada contoh dalam standar yang dihitung secara tidak tepat. Aspose iCalendar menerima waktu dalam format apa pun pada aturan UNTIL.

DATE-TIME dengan Waktu Lokal dan Zona Waktu

Untuk merujuk zona waktu, DATE-TIME diubah dengan properti TZID. Misalnya, berikut ini mewakili pukul 2 pagi di New York pada 19 Januari 1998: DTSTART;TZID=US-Eastern:19980119T020000. Harap perhatikan bahwa Aspose iCalendar saat ini mengabaikan parameter TZID dan memperlakukan waktu sebagai waktu lokal.

BYWEEKNO Menyediakan Kepatuhan ISO 8601

Gunakan BYWEEKNO hanya ketika mematuhi ISO 8601 diperlukan. Nomor minggu yang didefinisikan oleh ISO 8601 sangat berbeda dari nomor minggu dalam pengertian normal. Menurut ISO 8601, minggu pertama tahun kalender adalah minggu pertama yang memiliki setidaknya empat hari. Aturan ini membuat algoritma khusus untuk aplikasi yang memerlukan kepatuhan terhadap ISO 8601 dan hampir tidak dapat diterapkan pada penggunaan lain. ISO 8601 didukung oleh beberapa aplikasi perbankan dan keuangan di Eropa. Ini juga digunakan dalam televisi untuk penjadwalan iklan. Aturan BYWEEKNO menentukan daftar angka yang dipisahkan koma yang mengidentifikasi minggu dalam setahun. Nilai yang valid adalah 1 hingga 53 dan 1 hingga 53. Ini sesuai dengan minggu menurut penomoran minggu yang didefinisikan dalam ISO 8601. BYWEEKNO hanya valid untuk aturan YEARLY.