Aracılığıyla paylaş


PersianCalendar sınıfı

Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.

Farsça takvimi, Farsça'nın konuşulduğu ülkelerin/bölgelerin çoğunda kullanılır, ancak bazı bölgelerde farklı ay adları kullanılır. İran takvimi, İran ve Afganistan'ın resmi takvimidir ve Kazakistan ve Tacikistan gibi bölgelerdeki alternatif takvimlerden biridir.

Not

.NET'te sınıfı ve PersianCalendar diğer takvim sınıflarını kullanma hakkında bilgi için bkz . Takvimlerle Çalışma.

Farsça takvim bir güneş Hicri takvimidir ve Hz. Muhammed'in (PBUH) Mekke'den Medine'ye göç ettiği yıl olan 622 C.E.'ye karşılık gelen Hicra yılından itibaren başlar.

Farsça takvim bir güneş yılına dayanır ve yaklaşık 365 gündür. Bir yıl dört mevsim boyunca geçer ve yeni bir yıl, güneş ekvatoru güney yarım küreden kuzey yarım küreye doğru dünyanın merkezinden göründüğü gibi geçtiğinde başlar. Yeni yıl, kuzey yarım küredeki baharın ilk günü olan Farvardeen ayının ilk günüdür. Örneğin, 21 Mart 2002 C.E. tarihi, 1381 Anno Persico yılında Farvardeen ayının ilk gününe karşılık gelir.

Farsça takvimindeki ilk altı ayın her birinde 31 gün, sonraki beş ayın her birinde 30 gün ve son ayın ortak yılda 29 günü ve artık yılda 30 günü vardır. Artık yıl, 33'e bölündüğünde 1, 5, 9, 13, 17, 22, 26 veya 30'un geri kalanına sahip olan bir yıldır. Örneğin, 1370 yılı artık yıldır çünkü 33'e bölünmesi 17'nin geri kalanını verir. Her 33 yıllık döngüde yaklaşık sekiz artık yıl vardır.

PersianCalendar sınıfı ve .NET Framework sürümleri

.NET Framework 4.6'dan başlayarak sınıfı, PersianCalendar tarihleri hesaplamak için gözlemsel algoritma yerine Hicri güneş astronomik algoritmasını kullanır. Bu da uygulamanın, Fars takviminin en yaygın kullanıldığı iki ülke olan İran ve Afganistan'da kullanılan Fars takvimiyle tutarlı olmasını sağlar PersianCalendar . .NET Framework 4.6 yüklüyse, değişiklik .NET Framework 4 veya üzeri üzerinde çalışan tüm uygulamaları etkiler.

Değiştirilen algoritmanın sonucu olarak:

  • Gregoryen takvimde tarihleri 1800 ile 2123 arasında dönüştürürken iki algoritma aynı sonuçları döndürmelidir.

  • İki algoritma Gregoryen takvimde 1800 ve 2123'e kadar olan tarihleri dönüştürürken farklı değerler döndürebilir.

  • Gregoryen MinSupportedDateTime takvimde özellik değeri 21 Mart 0622'den Gregoryen takvimde 22 Mart 0622'ye değiştirildi.

  • Özellik değeri, MaxSupportedDateTime Farsça takviminde 9378 yılının 10. ayının 10. gününden Farsça takviminde 9378 yılının 10. ayının 13. gününe değişmiştir.

  • yöntemi daha IsLeapYear önce döndürenden farklı bir sonuç döndürebilir.

PersianCalendar sınıfını kullanma

Uygulamalar, Farsça takvimdeki tarihleri hesaplamak veya Farsça tarihleri Gregoryen tarihlere ve gregoryen tarihlere dönüştürmek için bir PersianCalendar nesne kullanır.

Nesneyi bir PersianCalendar kültür için varsayılan takvim olarak kullanamazsınız. Varsayılan takvim özelliği tarafından CultureInfo.Calendar belirtilir ve özelliği tarafından CultureInfo.OptionalCalendars döndürülen takvimlerden biri olmalıdır. Şu anda sınıfı, PersianCalendar sınıfı tarafından CultureInfo desteklenen herhangi bir kültür için isteğe bağlı bir takvim değildir ve sonuç olarak varsayılan takvim olamaz.