/// <summary> /// Returns the month number from the input string. The month number ranges vary for different calendar types. /// The return value ranges are as follows: /// -1 Illegal /// 1 - 12 Jalali /// 13 - 24 Gregorian /// 25 - 36 HijriGhamari /// </summary> private int EnglishMonthNum(string str) { // the items that end in dot are for the abbreviated form of the dates. str = ParsingUtils.NormalizeSpaces(str.ToLower()); switch (str) { case "farvardin": return(1); case "ordibehesht": return(2); case "khordād": return(3); case "khordad": return(3); case "tir": return(4); case "mordād": return(5); case "amordād": return(5); case "mordad": return(5); case "amordad": return(5); case "shahrivar": return(6); case "mehr": return(7); case "ābān": return(8); case "aban": return(8); case "āzar": return(9); case "azar": return(9); case "dey": return(10); case "bahman": return(11); case "esfand": return(12); case "espand": return(12); // Gregorian Begins Here case "january": case "jan": case "jan.": return(13); case "february": case "feb": case "feb.": return(14); case "march": case "mar": case "mar.": return(15); case "april": case "apr": case "apr.": return(16); case "may": return(17); case "june": case "jun": case "jun.": return(18); case "july": case "jul": case "jul.": return(19); case "august": case "aug": case "aug.": return(20); case "september": case "sep": case "sep.": return(21); case "october": case "oct": case "oct.": return(22); case "november": case "nov": case "nov.": return(23); case "december": case "dec": case "dec.": return(24); // Hijri Ghamari Begins Here case "muharram": case "muḥarram ul ḥaram": case "muharram ul haram": return(25); case "safar": case "ṣafar ul muzaffar": case "safar ul muzaffar": return(26); case "rabi' al-awwal": return(27); case "rabi' al-thani": return(28); case "jumada al-ula": return(29); case "jumada al-thani": return(30); case "rajab": return(31); case "rajab al murajab": return(31); case "sha'aban": return(32); case "sha'abān ul moazam": return(32); case "sha'aban ul moazam": return(32); case "ramadan": return(33); case "ramazān": return(33); case "ramaḍān ul mubarak": return(33); case "ramadan ul mubarak": return(33); case "ramazan": return(33); case "ramazan ul mubarak": return(33); case "shawwal": return(34); case "shawwal ul mukarram": return(34); case "dhu al-qi'dah": return(35); case "dhu al-hijjah": return(36); default: return(-1); } }
/// <summary> /// Returns the month number from the input string. The month number ranges vary for different calendar types. /// The return value ranges are as follows: /// -1 Illegal /// 1 - 12 Jalali /// 13 - 24 Gregorian /// 25 - 36 HijriGhamari /// </summary> private int PersianMonthNum(string str) { str = ParsingUtils.NormalizeSpaces(str); switch (str) { case "فروردین": return(1); case "اردیبهشت": return(2); case "خرداد": return(3); case "تیر": return(4); case "مرداد": return(5); case "امرداد": return(5); case "شهریور": return(6); case "مهر": return(7); case "آبان": return(8); case "ابان": return(8); case "آذر": return(9); case "دی": return(10); case "بهمن": return(11); case "اسفند": return(12); case "اسپند": return(12); // Gregorian Begins Here case "ژانویه": return(13); case "جنوری": return(13); case "فوریه": return(14); case "فبروری": return(14); case "مارس": return(15); case "مارچ": return(15); case "آوریل": return(16); case "آپریل": return(16); case "مه": return(17); case "می": return(17); case "ژوئن": return(18); case "جون": return(18); case "ژوئیه": return(19); case "ژوییه": return(19); case "جولای": return(19); case "ژولای": return(19); case "اوت": return(20); case "اگوست": return(20); case "آگوست": return(20); case "سپتامبر": return(21); case "سپتمبر": return(21); case "اکتبر": return(22); case "نوامبر": return(23); case "نومبر": return(23); case "دسامبر": return(24); case "دسبمر": return(24); // Hijri Ghamari Begins Here case "محرم": return(25); case "محرمالحرام": return(25); case "محرم الحرام": return(25); case "صفر": return(26); case "ربیعالاول": return(27); case "ربیع الاول": return(27); case "ربیعالثانی": return(28); case "ربیع الثانی": return(28); case "جمادیالاولی": return(29); case "جمادیالاول": return(29); case "جمادی الاولی": return(29); case "جمادی الاول": return(29); case "جمادیالثانی": return(30); case "جمادی الثانی": return(30); case "رجب": return(31); case "شعبان": return(32); case "رمضان": return(33); case "شوال": return(34); case "ذیالقعده": return(35); case "ذی القعده": return(35); case "ذوالقعده": return(35); case "ذو القعده": return(35); case "ذیالحجه": return(36); case "ذوالحجه": return(36); case "ذی الحجه": return(36); case "ذو الحجه": return(36); default: return(-1); } }