PersianCalendar 類別
本文提供此 API 參考文件的補充備註。
波斯歷用於大多數說波斯語的國家/地區,雖然某些地區使用不同的月份名稱。 波斯曆是伊朗和阿富汗的官方日曆,它是哈薩克和塔吉克等地區的替代日曆之一。
注意
如需在 .NET 中使用 PersianCalendar 類別和其他行事曆類別的相關信息,請參閱 使用行事曆。
波斯歷是一個太陽希里歷法,從希拉的年開始,相當於穆罕默德(PBUH)從麥加遷移至麥地那的一年622攝氏度。
波斯歷以太陽年為基礎,長約365天。 一年迴圈四個季節,新的一年開始,太陽似乎從南半球穿過赤道到北半球,從地球中心看。 新年是法瓦爾丁月的第一天,這是北半球春天的第一天。 例如,2002 年 3 月 21 日 C.E. 的日期會對應到 1381 年 Anno Persico 中 Farvardeen 月份的第一天。
波斯歷前六個月各有 31 天,接下來五個月各有 30 天,上個月在一個普通年份有 29 天,一個閏年有 30 天。 閏年是一年,當除以 33 時,其餘為 1、5、9、13、17、22、26 或 30。 例如,1370 年是閏年,因為除以 33 會產生 17 的餘數。 每 33 年週期大約有 8 個閏年。
PersianCalendar 類別和 .NET Framework 版本
從 .NET Framework 4.6 開始,類別 PersianCalendar 會使用Hijri太陽天文演算法,而不是觀察演算法來計算日期。 這使得實施 PersianCalendar 與波斯歷在伊朗和阿富汗的使用一致,這是波斯歷最廣泛使用的兩個國家。 如果已安裝 .NET Framework 4.6,變更會影響在 .NET Framework 4 或更新版本上執行的所有應用程式。
由於演算法已變更:
在公曆中轉換 1800 到 2123 之間的日期時,這兩個演算法應該會傳回相同的結果。
在公曆中轉換 1800 和 2123 之後的日期時,這兩種演算法可能會傳回不同的結果。
屬性值 MinSupportedDateTime 已從公曆的 0622 年 3 月 21 日變更為公曆 0622 年 3 月 22 日。
屬性值 MaxSupportedDateTime 已從波斯歷第 9378 年 9378 年第 10 個月的第 10 天變更為波斯歷第 10 個月的第 13 天。
IsLeapYear方法可能會傳回與先前不同的結果。
使用波斯文Calendar 類別
應用程式會使用 PersianCalendar 對象來計算波斯曆中的日期,或將波斯日期轉換成公曆日期與公曆日期。
您無法使用 PersianCalendar 物件做為文化特性的預設行事曆。 默認行事曆是由 CultureInfo.Calendar 屬性指定,而且必須是 屬性所 CultureInfo.OptionalCalendars 傳回的其中一個行事曆。 目前,類別 PersianCalendar 不是類別所支援之任何文化特性的 CultureInfo 選擇性行事曆,因此不能是預設行事曆。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應