PersianCalendar kelas

Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.

Kalender Persia digunakan di sebagian besar negara/wilayah tempat Persia diucapkan, meskipun beberapa wilayah menggunakan nama bulan yang berbeda. Kalender Persia adalah kalender resmi Iran dan Afghanistan, dan merupakan salah satu kalender alternatif di wilayah seperti Kazakhstan dan Tajikistan.

Catatan

Untuk informasi tentang menggunakan PersianCalendar kelas dan kelas kalender lainnya di .NET, lihat Bekerja dengan Kalender.

Kalender Persia adalah kalender Hijriah surya, dan dimulai dari tahun Hijra, yang sesuai dengan 622 SM tahun ketika Muhammad (PBUH) bermigrasi dari Mekkah ke Madinah.

Kalender Persia didasarkan pada tahun surya dan panjangnya sekitar 365 hari. Setahun melewati empat musim, dan tahun baru dimulai ketika matahari tampak menyeberangi khatulistiwa dari belahan bumi selatan ke belahan bumi utara seperti yang dilihat dari pusat Bumi. Tahun baru menandai hari pertama bulan Farvardeen, yang merupakan hari pertama musim semi di belahan bumi utara. Misalnya, tanggal 21 Maret 2002 S.E. sesuai dengan hari pertama bulan Farvardeen pada tahun 1381 Anno Persico.

Masing-masing dari enam bulan pertama dalam kalender Persia memiliki 31 hari, masing-masing dari lima bulan berikutnya memiliki 30 hari, dan bulan terakhir memiliki 29 hari dalam tahun umum dan 30 hari dalam tahun kampung. Tahun kampung adalah tahun yang, ketika dibagi 33, memiliki sisa 1, 5, 9, 13, 17, 22, 26, atau 30. Misalnya, tahun 1370 adalah tahun kampung karena membalainya dengan 33 menghasilkan sisa 17. Ada sekitar delapan tahun kabisat dalam setiap siklus 33 tahun.

Kelas PersianCalendar dan versi .NET Framework

Dimulai dengan .NET Framework 4.6, PersianCalendar kelas menggunakan algoritma astronomi surya Hijriah daripada algoritma pengamatan untuk menghitung tanggal. Hal ini membuat PersianCalendar implementasi konsisten dengan kalender Persia yang digunakan di Iran dan Afghanistan, kedua negara tempat kalender Persia digunakan paling luas. Perubahan ini memengaruhi semua aplikasi yang berjalan pada .NET Framework 4 atau yang lebih baru jika .NET Framework 4.6 diinstal.

Sebagai hasil dari algoritma yang diubah:

  • Kedua algoritma harus mengembalikan hasil yang identik saat mengonversi tanggal antara 1800 dan 2123 di kalender Gregorian.

  • Dua algoritma mungkin mengembalikan differentresult saat mengonversi tanggal sebelum 1800 dan setelah 2123 di kalender Gregorian.

  • Nilai MinSupportedDateTime properti telah berubah dari 21 Maret 0622 di kalender Gregorian menjadi 22 Maret 0622 di kalender Gregorian.

  • Nilai MaxSupportedDateTime properti telah berubah dari hari ke-10 bulan ke-10 tahun 9378 dalam kalender Persia menjadi hari ke-13 bulan ke-10 tahun 9378 di kalender Persia.

  • Metode IsLeapYear ini dapat mengembalikan hasil yang berbeda dari sebelumnya.

Menggunakan kelas PersianCalendar

Aplikasi menggunakan PersianCalendar objek untuk menghitung tanggal dalam kalender Persia atau mengonversi tanggal Persia ke dan dari tanggal Gregorian.

Anda tidak dapat menggunakan PersianCalendar objek sebagai kalender default untuk budaya. Kalender default ditentukan oleh CultureInfo.Calendar properti dan harus merupakan salah satu kalender yang dikembalikan oleh CultureInfo.OptionalCalendars properti . Saat ini, PersianCalendar kelas bukan kalender opsional untuk budaya apa pun yang didukung oleh CultureInfo kelas dan akibatnya tidak dapat menjadi kalender default.