Пример #1
0
        //This function exists as a hack to prevent us from loading all of the non-gregorian
        //calendars unless they're required.
        internal Calendar GetCalendarInstanceRare(int calType)
        {
            BCLDebug.Assert(calType != Calendar.CAL_GREGORIAN, "calType!=Calendar.CAL_GREGORIAN");

            switch (calType)
            {
            case Calendar.CAL_GREGORIAN_US:                   // Gregorian (U.S.) calendar
            case Calendar.CAL_GREGORIAN_ME_FRENCH:            // Gregorian Middle East French calendar
            case Calendar.CAL_GREGORIAN_ARABIC:               // Gregorian Arabic calendar
            case Calendar.CAL_GREGORIAN_XLIT_ENGLISH:         // Gregorian Transliterated English calendar
            case Calendar.CAL_GREGORIAN_XLIT_FRENCH:          // Gregorian Transliterated French calendar
                return(new GregorianCalendar((GregorianCalendarTypes)calType));

            case Calendar.CAL_TAIWAN:                         // Taiwan Era calendar
                return(TaiwanCalendar.GetDefaultInstance());

            case Calendar.CAL_JAPAN:                          // Japanese Emperor Era calendar
                return(JapaneseCalendar.GetDefaultInstance());

            case Calendar.CAL_KOREA:                          // Korean Tangun Era calendar
                return(KoreanCalendar.GetDefaultInstance());

            case Calendar.CAL_HIJRI:                          // Hijri (Arabic Lunar) calendar
                return(HijriCalendar.GetDefaultInstance());

            case Calendar.CAL_THAI:                           // Thai calendar
                return(ThaiBuddhistCalendar.GetDefaultInstance());

            case Calendar.CAL_HEBREW:                         // Hebrew (Lunar) calendar
                return(HebrewCalendar.GetDefaultInstance());
            }
            return(GregorianCalendar.GetDefaultInstance());
        }
Пример #2
0
        public void Can_Get_IndexOfDay_For_HijriCalendar_Using_CultureHelper()
        {
            var hc = new HijriCalendar();
            var dt = new DateTime(2009, 5, 11); //Should be Monday
            var dow = CultureHelper.GetDayOfWeek(dt, hc);

            Assert.AreEqual(1, dow);
        }
Пример #3
0
 internal static void CheckYearRange(int year, int era)
 {
     HijriCalendar.CheckEraRange(era);
     if (year < 1 || year > 9666)
     {
         throw new ArgumentOutOfRangeException("year", string.Format((IFormatProvider)CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_Range"), (object)1, (object)9666));
     }
 }
Пример #4
0
 /// <summary>Returns the number of days in the specified year and era.</summary>
 /// <param name="year">An integer that represents the year. </param>
 /// <param name="era">An integer that represents the era. </param>
 /// <returns>The number of days in the specified year and era. The number of days is 354 in a common year or 355 in a leap year.</returns>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 ///         <paramref name="year" /> or <paramref name="era" /> is outside the range supported by this calendar. </exception>
 // Token: 0x06002EB9 RID: 11961 RVA: 0x000B37FA File Offset: 0x000B19FA
 public override int GetDaysInYear(int year, int era)
 {
     HijriCalendar.CheckYearRange(year, era);
     if (!this.IsLeapYear(year, 0))
     {
         return(354);
     }
     return(355);
 }
Пример #5
0
        public BaseDateControl()
        {
            pc = new PersianCalendar();
            gc = new GregorianCalendar();
            hc = new HijriCalendar();

            SelectedDateTime = DateTime.Now.Date;
            ViewDateTime = DateTime.Now.Date;
        }
Пример #6
0
 /// <summary>返回指定纪元年份中指定月份的天数。</summary>
 /// <returns>指定纪元中指定年份的指定月份中的天数。</returns>
 /// <param name="year">表示年份的整数。</param>
 /// <param name="month">1 到 12 之间的一个整数,它表示月份。</param>
 /// <param name="era">表示纪元的整数。</param>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="era" /> 超出了此日历支持的范围。- 或 -<paramref name="year" /> 超出了此日历支持的范围。- 或 -<paramref name="month" /> 超出了此日历支持的范围。</exception>
 public override int GetDaysInMonth(int year, int month, int era)
 {
     HijriCalendar.CheckYearMonthRange(year, month, era);
     if (month == 12)
     {
         return(!this.IsLeapYear(year, 0) ? 29 : 30);
     }
     return(month % 2 != 1 ? 29 : 30);
 }
Пример #7
0
        public DateConvertor()
        {
            arCul=new CultureInfo("ar-SA");
            enCul=new CultureInfo("en-US");

            h=new  HijriCalendar();
            g=new GregorianCalendar(GregorianCalendarTypes.USEnglish);

            arCul.DateTimeFormat.Calendar=h;
        }
Пример #8
0
        // Token: 0x06002EB2 RID: 11954 RVA: 0x000B35A0 File Offset: 0x000B17A0
        internal virtual int GetDatePart(long ticks, int part)
        {
            HijriCalendar.CheckTicksRange(ticks);
            long num = ticks / 864000000000L + 1L;

            num += (long)this.HijriAdjustment;
            int  num2 = (int)((num - 227013L) * 30L / 10631L) + 1;
            long num3 = this.DaysUpToHijriYear(num2);
            long num4 = (long)this.GetDaysInYear(num2, 0);

            if (num < num3)
            {
                num3 -= num4;
                num2--;
            }
            else if (num == num3)
            {
                num2--;
                num3 -= (long)this.GetDaysInYear(num2, 0);
            }
            else if (num > num3 + num4)
            {
                num3 += num4;
                num2++;
            }
            if (part == 0)
            {
                return(num2);
            }
            int num5 = 1;

            num -= num3;
            if (part == 1)
            {
                return((int)num);
            }
            while (num5 <= 12 && num > (long)HijriCalendar.HijriMonthDays[num5 - 1])
            {
                num5++;
            }
            num5--;
            if (part == 2)
            {
                return(num5);
            }
            int result = (int)(num - (long)HijriCalendar.HijriMonthDays[num5 - 1]);

            if (part == 3)
            {
                return(result);
            }
            throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_DateTimeParsing"));
        }
Пример #9
0
 internal static void CheckYearMonthRange(int year, int month, int era)
 {
     HijriCalendar.CheckYearRange(year, era);
     if (year == 9666 && month > 4)
     {
         throw new ArgumentOutOfRangeException("month", string.Format((IFormatProvider)CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_Range"), (object)1, (object)4));
     }
     if (month < 1 || month > 12)
     {
         throw new ArgumentOutOfRangeException("month", Environment.GetResourceString("ArgumentOutOfRange_Month"));
     }
 }
Пример #10
0
        internal virtual int GetDatePart(long ticks, int part)
        {
            HijriCalendar.CheckTicksRange(ticks);
            long num1      = ticks / 864000000000L + 1L + (long)this.HijriAdjustment;
            int  num2      = (int)((num1 - 227013L) * 30L / 10631L) + 1;
            long hijriYear = this.DaysUpToHijriYear(num2);
            long num3      = (long)this.GetDaysInYear(num2, 0);

            if (num1 < hijriYear)
            {
                hijriYear -= num3;
                --num2;
            }
            else if (num1 == hijriYear)
            {
                --num2;
                hijriYear -= (long)this.GetDaysInYear(num2, 0);
            }
            else if (num1 > hijriYear + num3)
            {
                hijriYear += num3;
                ++num2;
            }
            if (part == 0)
            {
                return(num2);
            }
            int  num4 = 1;
            long num5 = num1 - hijriYear;

            if (part == 1)
            {
                return((int)num5);
            }
            while (num4 <= 12 && num5 > (long)HijriCalendar.HijriMonthDays[num4 - 1])
            {
                ++num4;
            }
            int num6 = num4 - 1;

            if (part == 2)
            {
                return(num6);
            }
            int num7 = (int)(num5 - (long)HijriCalendar.HijriMonthDays[num6 - 1]);

            if (part == 3)
            {
                return(num7);
            }
            throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_DateTimeParsing"));
        }
Пример #11
0
 public static string HijriToDate(this string date)
 {
     try
     {
         var splitedDate = date.Split('/');
         System.Globalization.HijriCalendar hijri = new System.Globalization.HijriCalendar();
         var result = hijri.ToDateTime(int.Parse(splitedDate[0]), int.Parse(splitedDate[1]), int.Parse(splitedDate[2]), 0, 0, 0, 0);
         return(string.Format("{2}/{1}/{0}", result.Year, result.Day.ToString("00"), result.Month.ToString("00")));
     }
     catch (Exception)
     {
         return("");
     }
 }
Пример #12
0
        public static string ToHijriDate(this DateTime dateTime, string format)
        {
            CultureInfo cul = new CultureInfo("ar-SA");
            Calendar    calendar;

            try
            {
                //check with UmAlQura
                calendar = new System.Globalization.UmAlQuraCalendar();

                if (dateTime.IsSupportedDateTime(calendar))
                {
                    calendar = new System.Globalization.HijriCalendar();
                }

                cul.DateTimeFormat.Calendar = calendar;
                return(dateTime.ToString(format, cul));
            }
            catch { return(String.Empty); }
        }
Пример #13
0
        public static string ToHijriDateWithFormat(this DateTime dateTime, string format)
        {
            string      result = String.Empty;
            CultureInfo arCul  = new CultureInfo("ar-SA");
            Calendar    calendar;

            try
            {
                //check UmAlQura boundaries
                calendar = new System.Globalization.UmAlQuraCalendar();

                if (dateTime < calendar.MinSupportedDateTime || dateTime > calendar.MaxSupportedDateTime)
                {
                    calendar = new System.Globalization.HijriCalendar();
                }

                arCul.DateTimeFormat.Calendar = calendar;
                result = dateTime.ToString(format, arCul);
            }
            catch { result = String.Empty; }
            return(result);
        }
        unsafe internal void ConstructCalendars()
        {
            if (calendar_data == null)
            {
                optional_calendars = new Calendar [] { new GregorianCalendar(GregorianCalendarTypes.Localized) };
                return;
            }

            optional_calendars = new Calendar [NumOptionalCalendars];

            for (int i = 0; i < NumOptionalCalendars; i++)
            {
                Calendar cal     = null;
                int      caldata = *(calendar_data + i);
                int      caltype = (caldata >> CalendarTypeBits);
                switch (caltype)
                {
                case 0:
                    GregorianCalendarTypes greg_type;
                    greg_type = (GregorianCalendarTypes)(caldata & GregorianTypeMask);
                    cal       = new GregorianCalendar(greg_type);
                    break;

                case 1:
                    cal = new HijriCalendar();
                    break;

                case 2:
                    cal = new ThaiBuddhistCalendar();
                    break;

                default:
                    throw new Exception("invalid calendar type:  " + caldata);
                }
                optional_calendars [i] = cal;
            }
        }
Пример #15
0
        public static string Events(DateTime mydate)
        {
            PersianCalendar PersianCalEvents = new PersianCalendar();
            HijriCalendar HijriCalEvents = new HijriCalendar();

            var PerDay = PersianCalEvents.GetDayOfMonth(mydate);
            var HijDay = HijriCalEvents.GetDayOfMonth(CalendarClass.Yesterday(mydate));

            var PerMonth = PersianCalEvents.GetMonth(mydate);
            var HijMonth = HijriCalEvents.GetMonth(CalendarClass.Yesterday(mydate));

            string PerisnEvents = "";
            string HijriEvents = "";
            string ReturnValue = "";

            switch (PerMonth)
            {
                case 1:
                    switch (PerDay)
                    {
                        case 1: PerisnEvents = "سال نو بر شما مبارک باد"; break;
                        case 2: PerisnEvents = "هجوم ماموران ستم شاهی به مدرسه ی فیضیه ی -- تعطیل"; break;
                        case 12: PerisnEvents = "روز جمهوری اسلامی ایران -- تعطیل"; break;
                        case 13: PerisnEvents = "روز طبیعت -- تعطیل"; break;
                        case 18: PerisnEvents = "روز سلامتی - روز جهانی بهداشت"; break;
                        case 19: PerisnEvents = "شهادت آیت اله سید محمد باقر صدر و خواهر ایشان بنت الهدی توسط رژیم بعث عراق"; break;
                        case 20: PerisnEvents = "روز ملی فناوری هسته ای"; break;
                        case 21: PerisnEvents = "شهادت امیر سپهبد علی صیاد شیرازی"; break;
                        case 25: PerisnEvents = "روز بزرگداشت عطار نیشابوری"; break;
                        case 29: PerisnEvents = "روز ارتش جمهوری اسلامی ایران"; break;
                    }
                    break;
                case 2:
                    switch (PerDay)
                    {
                        case 1: PerisnEvents = "روز بزرگداشت سعدی"; break;
                        case 2: PerisnEvents = "تاسیس سپاه پاسداران انتقلاب اسلامی - سالروز اعلام انقلاب فرهنگی - روز زمین پاک"; break;
                        case 3: PerisnEvents = "روز بزرگداشت شیخ بهایی - روز ملی کار آفرینی"; break;
                        case 5: PerisnEvents = "شکست حمله نظامی آمریکا به ایران در طبس"; break;
                        case 9: PerisnEvents = "روز شوراها"; break;
                        case 10: PerisnEvents = " روز ملی خلیج فارس - آغاز عملیات بیت المقدس"; break;
                        case 12: PerisnEvents = "شهادت استاد مرتضی مطهری - روز معلم - روز جهانی کار و کارگر"; break;
                        case 15: PerisnEvents = "روز بزرگداشت شیخ صدوق"; break;
                        case 17: PerisnEvents = "روز اسناد ملی"; break;
                        case 19: PerisnEvents = "روز جهانی صلیب سرخ و حلال احمر"; break;
                        case 24: PerisnEvents = "لغو امتیاز تنباکو به فتوای آیت الله میرزا حسن شیرازی"; break;
                        case 25: PerisnEvents = "روز بزرگداشت فردوسی"; break;
                        case 27: PerisnEvents = "روز جهانی ارتباطات و روابط عمومی"; break;
                        case 28: PerisnEvents = "روز بزرگداشت حکیم عمر خیام"; break;
                        case 29: PerisnEvents = "روز جهانی موزه و میراث فرهنگی"; break;
                    }
                    break;
                case 3:
                    switch (PerDay)
                    {
                        case 1: PerisnEvents = "روز بهره وری و بهینه سازی مصرف - روز بزرگداشت ملا صدرا"; break;
                        case 3: PerisnEvents = "فتح خرم شهر در عملیات بیت امقدس و روز مقاومت ، ایثار و پیروزی"; break;
                        case 14: PerisnEvents = "رحلت حضرت امام خمینی -- تعطیل"; break;
                        case 15: PerisnEvents = "قیام خونین 15 خرداد -- تعطیل"; break;
                        case 16: PerisnEvents = "روز جهانی محیط زیست"; break;
                        case 20: PerisnEvents = "شهادت آیت الله سعیدی به دست ماموران ستم شاهی پهلوی"; break;
                        case 24: PerisnEvents = "روز جهانی صنایع دستی"; break;
                        case 25: PerisnEvents = "روز گل و گیاه"; break;
                        case 26: PerisnEvents = "شهادت سربازان دلیر اسلام،بخارایی،امانی،صفار هرندی و نیک نژاد"; break;
                        case 27: PerisnEvents = "روز جهاد کشاورزی -- تشکیل جهاد سازندگی به فرمان امام"; break;
                        case 28: PerisnEvents = "روز جهانی بیابان زدایی"; break;
                        case 29: PerisnEvents = "درگذشت دکتر علی شریعتی"; break;
                        case 30: PerisnEvents = "انفجار در حرم حضرت امام رضا به دست منافقین کور دل"; break;
                        case 31: PerisnEvents = "شهادت دکتر مصطفی چمران"; break;
                    }
                    break;
                case 4:
                    switch (PerDay)
                    {
                        case 1: PerisnEvents = "روز تبلیغ و اطلاع رسانی دینی - روز اصناف"; break;
                        case 6: PerisnEvents = "روز جهانی مبارزه با مواد مخدر"; break;
                        case 7: PerisnEvents = "شهادت آیت الله دکتر بهشتی و 72 تن از یاران امام - روز قوه قضاییه"; break;
                        case 8: PerisnEvents = "روز مبارزه با صلاح های میکروبی و شیمیایی"; break;
                        case 10: PerisnEvents = "روز صنعت و معدن"; break;
                        case 11: PerisnEvents = "شهادت آیت الله صدوقی چهارمین شهید محراب به دست به دست منافقین"; break;
                        case 12: PerisnEvents = "سقوط هواپیمای مسافر بری جمهوری اسلامی ایران توسط آمریکا"; break;
                        case 14: PerisnEvents = "روز قلم"; break;
                        case 16: PerisnEvents = "روز مالیات"; break;
                        case 25: PerisnEvents = "روز بهزیستی و تامین اجتماعی"; break;
                        case 27: PerisnEvents = "اعلام پذیرش قطعنامه شورای امنیت از سوی ایران"; break;

                    }
                    break;
                case 5:
                    switch (PerDay)
                    {
                        case 5: PerisnEvents = "سالروز عملیات افتخار آفرین مرصاد"; break;
                        case 6: PerisnEvents = "روز ترویج آموزش های فنی و حرفه ای"; break;
                        case 8: PerisnEvents = "روز بزرگداشت شیخ شهاب الدین سهروردی شیخ اشراق"; break;
                        case 9: PerisnEvents = "روز اهدای خون"; break;
                        case 14: PerisnEvents = "صدور فرمان مشروطیت"; break;
                        case 16: PerisnEvents = "تشکیل جهاد دانشگاهی "; break;
                        case 17: PerisnEvents = "روز خبرنگار"; break;
                        case 26: PerisnEvents = "آغاز بازگشت آزادگان به میهن اسلامی"; break;
                        case 28: PerisnEvents = "کودتای آمریکا برای بازگرداندن شاه"; break;
                        case 30: PerisnEvents = "روز بزرگداشت علامه مجلسی"; break;
                        case 31: PerisnEvents = "روز جهانی مسجد"; break;
                    }
                    break;
                case 6:
                    switch (PerDay)
                    {
                        case 1: PerisnEvents = "روز پزشک - روز بزرگداشت ابوعلی سینا"; break;
                        case 2: PerisnEvents = "آغاز هفته دولت"; break;
                        case 4: PerisnEvents = "روز کارمند"; break;
                        case 5: PerisnEvents = "روز دارو سازی - روز بزرگداشت محمد بن زکریای رازی"; break;
                        case 8: PerisnEvents = "روز مبارزه با تروریسم - انفجار دفتر نخست وزیری"; break;
                        case 10: PerisnEvents = "روز بانکداری اسلامی - سالروز تصویب قانون عملیات بانکی بدون ربا"; break;
                        case 11: PerisnEvents = "روز صنعت چاپ"; break;
                        case 13: PerisnEvents = "روز تعاون - روز بزرگداش ابو ریحان بیرونی"; break;
                        case 14: PerisnEvents = "شهادت آیت الله قدوسی و سرتیپ وحید دستجردی"; break;
                        case 17: PerisnEvents = "قیام 17 شهریور و کشتار جمعی از مردم به دست ماموران پهلوی"; break;
                        case 19: PerisnEvents = "وفات آیت الله سید محمد طالقانی اولین امام جمعه تهران"; break;
                        case 20: PerisnEvents = "شهادت دوین شهید محراب آیت الله مدنی به دست منافقین"; break;
                        case 21: PerisnEvents = "روز سینما"; break;
                        case 27: PerisnEvents = "روز شعر و ادب فارسی - وز بزرگداشت استاد سید محمد حسین شهریار"; break;
                        case 31: PerisnEvents = "آغاز جنگ تحمیلی - آغاز هفته ی دفاع مقدس"; break;
                    }
                    break;
                case 7:
                    switch (PerDay)
                    {

                        case 5: PerisnEvents = "شکست حصر آبادان در عملیات ثامن الائمه"; break;
                        case 6: PerisnEvents = "روز جهانی جهانگردی"; break;
                        case 7: PerisnEvents = "روز آتشنشانی و ایمنی - شهادت سرداران اسلام"; break;
                        case 8: PerisnEvents = "روز بزرگداشت مولوی"; break;
                        case 9: PerisnEvents = "روز جهانی ناشنوایان و روز همبستگی کودکان و نوجوانان فلسطینی"; break;
                        case 13: PerisnEvents = "هجرت حضرت امام خمینی ره از عراق به پاریس - روز نیروی انتظامی"; break;
                        case 14: PerisnEvents = "روز دامپزشکی"; break;
                        case 17: PerisnEvents = "روز جهانی کودک "; break;
                        case 20: PerisnEvents = "روز بزگداشت حافظ - روز اسکان معلولان و سالمندان - روز ملی کاهش بلایای طبیعی"; break;
                        case 23: PerisnEvents = "شهادت پنجمین شهید معراب آیت الله اشرفی اصفهانی - روز جهانی استاندارد"; break;
                        case 24: PerisnEvents = "روز پیوند اولیا و مربیان - روز جهانی نابینایان عصای سفید"; break;
                        case 26: PerisnEvents = "روز تربیت بدنی و ورزش"; break;
                        case 29: PerisnEvents = "روز صادرات"; break;
                    }
                    break;
                case 8:
                    switch (PerDay)
                    {
                        case 1: PerisnEvents = "روز آمار  برنامه ریزی"; break;
                        case 4: PerisnEvents = "اعتراض افشاگری حضرت امام خمینی ره علیه پذیرش کاپیتولاسیون"; break;
                        case 8: PerisnEvents = "شهادت محمد حسین فهمیده - روز نوجوان - روز بسیج دانش آموزی"; break;
                        case 10: PerisnEvents = "شهادت آیت الله قاضی طباطبایی اولین شهید محراب"; break;
                        case 13: PerisnEvents = "روز ملی مبارزه با استکبار جهانی - روز دانش آموز - تسخیر لانه جاسوسی آمریکا به دست دانشجویان پیرو خط امام"; break;
                        case 14: PerisnEvents = "روز فرهنگ عمومی"; break;
                        case 18: PerisnEvents = "روز ملی کیفیت"; break;
                        case 24: PerisnEvents = "روز کتابخوانی - روز بزرگداشت علامه سید محمد حسین طباطبایی"; break;
                    }
                    break;
                case 9:
                    switch (PerDay)
                    {
                        case 5: PerisnEvents = "روز بسیج مستضعفان - تشکیل بسیج مستضعفین به فرمان حضرت امام خمینی ره"; break;
                        case 7: PerisnEvents = "روز نیروی دریایی"; break;
                        case 9: PerisnEvents = "روز بزرگداشت شیخ مفید"; break;
                        case 10: PerisnEvents = "شهادت آیت سید حسن مدرس و روز مجلس"; break;
                        case 12: PerisnEvents = "تصویب قانون اساسی جمهوری اسلامی ایران"; break;
                        case 13: PerisnEvents = "روز جهانی معلولان و روز بیمه"; break;
                        case 15: PerisnEvents = "شهادت مظلومانه زائران خانه ی خدا به دستور آمریکا"; break;
                        case 16: PerisnEvents = "روز داشجو"; break;
                        case 18: PerisnEvents = "معرفی عراق بعنوان مسئول و آغاز جنگ از سوی سازمان ملل"; break;
                        case 19: PerisnEvents = "تشکیل شورای انقلاب فرهنگی به فرمان حضرت امام خمینی ره "; break;
                        case 20: PerisnEvents = "شهادت آیت الله دست غیب سومین شهید محراب به دست منافقین"; break;
                        case 25: PerisnEvents = "روز پژوهش"; break;
                        case 26: PerisnEvents = "روز حمل ونقل"; break;
                        case 27: PerisnEvents = "شهادت آیت الله دکتر محمد مفتح - روز وحدت حوزه و دانشگاه"; break;
                    }
                    break;
                case 10:
                    switch (PerDay)
                    {
                        case 5: PerisnEvents = "روز ملی ایمنی در برابر زلزله"; break;
                        case 7: PerisnEvents = "سالروز تشکیل نهضت سوادآموزی به فرمان حضرت امام خمینی ره - شهادت آیت الله حسین غفاری به دست پهلوی"; break;
                        case 19: PerisnEvents = "قیام خونین مردم قم - روز تجلیل از اسرا و مفقودان"; break;
                        case 20: PerisnEvents = "شهادت میرزا تقی خان امیر کبیر"; break;
                        case 22: PerisnEvents = "تشکیل شورای انقلاب به فرمان حضرت امام خمینی ره"; break;
                        case 26: PerisnEvents = "فرار شاه معدوم"; break;
                        case 27: PerisnEvents = "شهادت نواب صفوی ، طهماسبی ، برادران واحدی و ذوالقدر از فداییان اسلام"; break;
                    }
                    break;
                case 11:
                    switch (PerDay)
                    {
                        case 6: PerisnEvents = "سالروز حماسه مردم آمل"; break;
                        case 12: PerisnEvents = "بازگشت حضرت امام خمینی ره به ایران و آغاز دهه ی مبارک فجر"; break;
                        case 14: PerisnEvents = " پرتاب موفقيت آميز ماهواره اميد به فضا و بازتاب آن در رسانه هاي جهان "; break;
                        case 19: PerisnEvents = "روز نیروی هوایی"; break;
                        case 22: PerisnEvents = "پیروزی انقلاب و سقوط شاهنشاهی -- تعطیل"; break;
                        case 29: PerisnEvents = "قیام مردم تبریز چهلمین روز شهادت شهدای قم"; break;
                    }
                    break;
                case 12:
                    switch (PerDay)
                    {
                        case 5: PerisnEvents = "روز بزرگداشت خواجه نصیرالدین طوسی - روز مهندسی - روز وقف"; break;
                        case 8: PerisnEvents = "روز امور تربیتی و تربیت اسلامی"; break;
                        case 9: PerisnEvents = "روز ملی حمایت از حقوق مصرف کنندگاه"; break;
                        case 14: PerisnEvents = "روز احسان و نیکوکاری"; break;
                        case 15: PerisnEvents = "روز درختکاری"; break;
                        case 22: PerisnEvents = "روز بزرگداشت شهدا"; break;
                        case 25: PerisnEvents = "روز اخلاق و مهرورزی -  بمباران شیمیایی حلبچه توسط عراق"; break;
                        case 29: PerisnEvents = "روز ملی شدن صنعت نفت ایران -- تعطیل"; break;
                    }
                    break;
            }

            switch (HijMonth)
            {
                case 1:
                    switch (HijDay)
                    {
                        case 1: HijriEvents = "آغاز سال جدید قمری"; break;
                        case 9: HijriEvents = "تاسوعای حسینی -- تعطیل"; break;
                        case 10: HijriEvents = "عاشورای حسینی -- تعطیل"; break;
                        case 12: HijriEvents = " شهادت حضرت زین العابدین ع"; break;
                        case 18: HijriEvents = "تغییر قبله مسلمین از بیت المقدس به مکه"; break;
                        case 25: HijriEvents = "شهادت امام زین العابدین علیه السلام به روایتی"; break;
                    }
                    break;
                case 2:
                    switch (HijDay)
                    {
                        case 3: HijriEvents = "ولادت حضرت امام محمد باقر ع"; break;
                        case 7: HijriEvents = "ولادت حضرت امام موسی کاظم ع"; break;
                        case 20: HijriEvents = "اربعین حسینی -- تعطیل"; break;
                        case 28: HijriEvents = "رحلت حضرت رسول اکرم ص - شهادت حضرت امام حسن مجتبی ع -- تعطیل"; break;
                        case 30: HijriEvents = "شهادت حضرت امام رضا ع - تعطیل"; break;
                    }
                    break;
                case 3:
                    switch (HijDay)
                    {
                        case 1: HijriEvents = "هجرت حضرت رسول ص از مکه به مدینه - مبداگاه شماری هجری قمری"; break;
                        case 8: HijriEvents = "شهادت حضرت امام حسن عسگری ع"; break;
                        case 12: HijriEvents = "میلاد حضرت رسول اکرم به روایت اهل سنت - آغاز هفته وحدت"; break;
                        case 17: HijriEvents = "میلاد حضرت رسول اکرم و روز اخلاق و مهرورزی -- میلاد امام جعفر صادق -- تعطیل"; break;
                    }
                    break;
                case 4:
                    switch (HijDay)
                    {
                        case 8: HijriEvents = "ولادت امام حسن عسکری علیه السلام"; break;
                        case 10: HijriEvents = "(وفات حضرت معصومه (س"; break;
                    }
                    break;
                case 5:
                    switch (HijDay)
                    {
                        case 5: HijriEvents = "ولادت حضرت زینب س - روز پرستار و بهورز"; break;
                    }
                    break;
                case 6:
                    switch (HijDay)
                    {
                        case 3: HijriEvents = "شهادت حضرت فاطمه زهرا س -- تعطیل"; break;
                        case 30: HijriEvents = "ولادت حضرت فاطمه زهرا - ولادت حضرت امام خمینی"; break;
                    }
                    break;
                case 7:
                    switch (HijDay)
                    {
                        case 1: HijriEvents = "ولادت حضرت امام محمد باقر"; break;
                        case 3: HijriEvents = "شهادت حضرت امام علی النقی الهادی "; break;
                        case 10: HijriEvents = "ولادت حضرت امام محمد تقی ع جواد الائمه"; break;
                        case 13: HijriEvents = "ولادت حضرت امام علی  علیه السلام - آغاز ایام اعتکاف -- تعطیل"; break;
                        case 15: HijriEvents = "وفات حضرت زینب"; break;
                        case 25: HijriEvents = "شهادت حضرت امام موسی کاظم ع"; break;
                        case 27: HijriEvents = "مبعث رسول اکرم ص -- تعطیل"; break;
                    }
                    break;
                case 8:
                    switch (HijDay)
                    {
                        case 3: HijriEvents = "ولادت حضرت امام حسین ع و روز پاسدار"; break;
                        case 4: HijriEvents = "ولادت حضرت ابوالفضل العباس و روز جانباز"; break;
                        case 5: HijriEvents = "ولادت حضرت امام زین العابدین ع"; break;
                        case 11: HijriEvents = "ولادت حضرت علی اکبر ع و روز جوان"; break;
                        case 15: HijriEvents = "ولادت حضرت قائم عج روز جهانی مستضعفان -- تعطیل"; break;
                    }
                    break;
                case 9:
                    switch (HijDay)
                    {
                        case 10: HijriEvents = "وفات حضرت خدیجه س"; break;
                        case 15: HijriEvents = "ولادت حضرت امام حسن مجتبی علیه السلام و روز اکرام"; break;
                        case 18: HijriEvents = "شب قدر"; break;
                        case 19: HijriEvents = " ضربت خوردن حضرت علی ع روز گفت و گوی تمدنها"; break;
                        case 20: HijriEvents = "شب قدر"; break;
                        case 21: HijriEvents = "شهادت حضرت علی علیه السلام -- تعطیل"; break;
                        case 22: HijriEvents = "شب قدر"; break;
                    }
                    break;
                case 10:
                    switch (HijDay)
                    {
                        case 1: HijriEvents = "عید سعید فطر -- تعطیل"; break;
                        case 2: HijriEvents = "به مناسبت عید سعید فطر -- تعطیل"; break;
                        case 3: HijriEvents = "سالروز شهادت حضرت سلطان علی بن امام محمد باقر"; break;
                        case 25: HijriEvents = "شهادت امام جعفر صادق ع -- تعطیل"; break;
                    }
                    break;
                case 11:
                    switch (HijDay)
                    {
                        case 1: HijriEvents = "ولادت حضرت معصومه س"; break;
                        case 11: HijriEvents = "ولادت حضرت امام رضا ع"; break;
                        case 29: HijriEvents = "شهادت امام محمد تقی ع جواد الائمه"; break;
                    }
                    break;
                case 12:
                    switch (HijDay)
                    {
                        case 1: HijriEvents = "سالروز ازدواج حضرت علی ع و حضرت فاطمه س"; break;
                        case 7: HijriEvents = "شهادت امام محمد باقر ع"; break;
                        case 9: HijriEvents = "روز عرفه - روز نیایش"; break;
                        case 10: HijriEvents = "عید سعید قربان -- تعطیل "; break;
                        case 15: HijriEvents = "ولادت حضرت امام علی النقی الهادی ع"; break;
                        case 18: HijriEvents = "روز غدیر خم -- تعطیل "; break;
                        case 24: HijriEvents = "روز مباهله پیامبر اسلام ص"; break;
                        case 25: HijriEvents = " روز خانواده وتکریم بازنشستگان "; break;
                    }
                    break;

            }

            if (mydate.Month == 1 && mydate.Day == 1)
                ReturnValue = PerisnEvents + " - " + HijriEvents + " - " + "آغاز سال جدید میلادی";
            else if (mydate.Month == 12 && mydate.Day == 25)
                ReturnValue = PerisnEvents + " - " + HijriEvents + " - " + "میلاد حضرت عیسی مسیح علیه السلام";

            if (PerisnEvents.Trim() == "" || HijriEvents.Trim() == "")
                return ReturnValue = PerisnEvents + HijriEvents;
            else
                return ReturnValue = PerisnEvents + "-" + HijriEvents;
        }
Пример #16
0
		unsafe internal void ConstructCalendars ()
		{
			if (calendar_data == null) {
				optional_calendars = new Calendar [] {new GregorianCalendar (GregorianCalendarTypes.Localized)};
				return;
			}

			optional_calendars = new Calendar [NumOptionalCalendars];

			for (int i=0; i<NumOptionalCalendars; i++) {
				Calendar cal = null;
				int caldata = *(calendar_data + i);
				int caltype = (caldata >> CalendarTypeBits);
				switch (caltype) {
				case 0:
					GregorianCalendarTypes greg_type;
					greg_type = (GregorianCalendarTypes) (caldata & GregorianTypeMask);
					cal = new GregorianCalendar (greg_type);
					break;
				case 1:
					cal = new HijriCalendar ();
					break;
				case 2:
					cal = new ThaiBuddhistCalendar ();
					break;
				default:
					throw new Exception ("invalid calendar type:  " + caldata);
				}
				optional_calendars [i] = cal;
			}
		}
Пример #17
0
    public static string GetHijriDate()
    {
        System.Globalization.HijriCalendar hc = new System.Globalization.HijriCalendar();

        DateTime dt = DateTime.Now;

        string y = hc.GetYear(dt).ToString();
        string m = hc.GetMonth(dt).ToString();
        string d = hc.GetDayOfMonth(dt).ToString();

        if (m.Length != 2)
            m = "0" + m;
        if (d.Length != 2)
            d = "0" + d;

        //{0} = Year
        //{1} = Month
        //{2} = Day
        return String.Format("{0}/{1}/{2}", y, m, d);
    }
Пример #18
0
 public static void HijriTest()
 {
     HijriCalendar cal1 = new HijriCalendar();
     int ad = cal1.HijriAdjustment;
     Assert.True(ad >= -2 && ad <= 2);
 }
Пример #19
0
	protected void SetUp() {
		gcal = new GregorianCalendar();
		jucal = new JulianCalendar();
		hical = new HijriCalendar();
		hecal = new HebrewCalendar();
		jacal = new JapaneseCalendar();
		tacal = new TaiwanCalendar();
		kcal = new KoreanCalendar();
		tbcal = new ThaiBuddhistCalendar();
		acal = new Calendar[] {
			gcal, jucal, hical, hecal, jacal,
			tacal, kcal, tbcal};
#if NET_2_0
		clcal = new ChineseLunisolarCalendar ();
		tlcal = new TaiwanLunisolarCalendar ();
		jlcal = new JapaneseLunisolarCalendar ();
		klcal = new KoreanLunisolarCalendar ();
#endif
	}
Пример #20
0
	protected override void SetUp() {
		gcal = new GregorianCalendar();
		jucal = new JulianCalendar();
		hical = new HijriCalendar();
		hecal = new HebrewCalendar();
		jacal = new JapaneseCalendar();
		tacal = new TaiwanCalendar();
		kcal = new KoreanCalendar();
		tbcal = new ThaiBuddhistCalendar();
		acal = new Calendar[] {
			gcal, jucal, hical, hecal, jacal,
			tacal, kcal, tbcal};
	}
Пример #21
0
        public static HijriDateTime Parse(DateTime dateTime)
        {
            var cal = new HijriCalendar();
            var result = new HijriDateTime
            {
                Year = cal.GetYear(dateTime),
                Month = cal.GetMonth(dateTime),
                Day = cal.GetDayOfMonth(dateTime),
                Hour = cal.GetHour(dateTime),
                Minute = cal.GetMinute(dateTime),
                Second = cal.GetSecond(dateTime)
            };

            return result;
        }
 [Test, Timeout(180000)] // Can take a long time under NCrunch.
 public void BclThroughHistory()
 {
     var bcl = new HijriCalendar();
     var noda = CalendarSystem.IslamicBcl;
     BclEquivalenceHelper.AssertEquivalent(bcl, noda, noda.MinYear, noda.MaxYear);
 }
Пример #23
0
    private string ReadEvent(string tbl)
    {
        string msg = string.Empty;

        string sqlStr = "SELECT * FROM " + tbl;

        try
        {
            string date = string.Empty;
            DateTime dt = DateTime.Now;
            string m = string.Empty;
            string d = string.Empty;

            switch (tbl)
            {
                case "calendarfa":
                    System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
                    m = pc.GetMonth(dt).ToString();
                    d = pc.GetDayOfMonth(dt).ToString();
                    if (m.Length == 1)
                        m = "0" + m;
                    if (d.Length == 1)
                        d = "0" + d;
                    date = String.Format("{0}{1}", m, d);
                    break;
                case "calendaren":
                    m = dt.Month.ToString();
                    d = dt.Date.ToString();
                    if (m.Length == 1)
                        m = "0" + m;
                    if (d.Length == 1)
                        d = "0" + d;
                    date = String.Format("{0}{1}", m, d);
                    break;
                case "calendarar":
                    System.Globalization.HijriCalendar hc = new System.Globalization.HijriCalendar();
                    m = hc.GetMonth(dt).ToString();
                    d = hc.GetDayOfMonth(dt).ToString();
                    if (m.Length == 1)
                        m = "0" + m;
                    if (d.Length == 1)
                        d = "0" + d;
                    date = String.Format("{0}{1}", m, d);
                    break;
                default:
                    break;
            }

            OleDbConnection cnn = new OleDbConnection(Base.cnnStr);
            OleDbDataAdapter oda = new OleDbDataAdapter(sqlStr, cnn);
            OleDbCommand cmd = new OleDbCommand(sqlStr, cnn);
            cnn.Open();
            OleDbDataReader drr = cmd.ExecuteReader();

            DataSet ds = new DataSet();

            oda.Fill(ds, tbl);

            string title = string.Empty;
            string body = string.Empty;

            bool found = false;
            while (drr.Read())
            {
                if (drr["month"].ToString().Trim() + drr["day"].ToString().Trim() == date)
                {
                    found = true;
                    title = EncDec.Decrypt(drr["title"].ToString(), Base.hashKey).Trim();
                    body = EncDec.Decrypt(drr["body"].ToString(), Base.hashKey).Trim();
                    break;
                }
            }

            if (found)
                msg = string.Format("<h3>{0}</h3>{1}<br />", title, body).Replace("\n", "<br />");

            drr.Close();
            cnn.Close();

            cmd.Dispose();
            drr.Dispose();
            ds.Dispose();
            oda.Dispose();
            cnn.Dispose();

            cmd = null;
            drr = null;
            ds = null;
            oda = null;
            cnn = null;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        finally
        {
            tbl = null;
            sqlStr = null;
        }

        return msg;
    }
	// Constructor.
	public UmAlQuraCalendar()
			{
				hijri = new HijriCalendar();
				hijri.HijriAdjustment = 0;
			}
Пример #25
0
        public void SampleDateBclCompatibility()
        {
            Calendar hijri = new HijriCalendar();
            DateTime bclDirect = new DateTime(1302, 10, 15, 0, 0, 0, 0, hijri, DateTimeKind.Unspecified);

            CalendarSystem islamicCalendar = CalendarSystem.GetIslamicCalendar(IslamicLeapYearPattern.Base16, IslamicEpoch.Astronomical);
            LocalDate iso = new LocalDate(1302, 10, 15, islamicCalendar);
            DateTime bclFromNoda = iso.LocalDateTime.ToDateTimeUnspecified();
            Assert.AreEqual(bclDirect, bclFromNoda);
        }
Пример #26
0
        public void BclThroughHistory()
        {
            Calendar hijri = new HijriCalendar();
            DateTime bclDirect = new DateTime(1, 1, 1, 0, 0, 0, 0, hijri, DateTimeKind.Unspecified);

            CalendarSystem islamicCalendar = CalendarSystem.GetIslamicCalendar(IslamicLeapYearPattern.Base16, IslamicEpoch.Astronomical);
            CalendarSystem julianCalendar = CalendarSystem.GetJulianCalendar(4);
            LocalDate julianIslamicEpoch = new LocalDate(622, 7, 15, julianCalendar);
            LocalDate islamicDate = julianIslamicEpoch.WithCalendar(islamicCalendar);

            for (int i = 0; i < 9000 * 365; i++)
            {
                Assert.AreEqual(bclDirect, islamicDate.LocalDateTime.ToDateTimeUnspecified());
                Assert.AreEqual(hijri.GetYear(bclDirect), islamicDate.Year, i.ToString());
                Assert.AreEqual(hijri.GetMonth(bclDirect), islamicDate.MonthOfYear);
                Assert.AreEqual(hijri.GetDayOfMonth(bclDirect), islamicDate.DayOfMonth);
                bclDirect = hijri.AddDays(bclDirect, 1);
                islamicDate = islamicDate.PlusDays(1);
            }
        }
Пример #27
0
        public static bool IsHolyDay(DateTime mydate)
        {
            PersianCalendar PersianCalEvents = new PersianCalendar();
            HijriCalendar HijriCalEvents = new HijriCalendar();

            var PerDay = PersianCalEvents.GetDayOfMonth(mydate);
            var HijDay = HijriCalEvents.GetDayOfMonth(CalendarClass.Yesterday(mydate));

            var PerMonth = PersianCalEvents.GetMonth(mydate);
            var HijMonth = HijriCalEvents.GetMonth(CalendarClass.Yesterday(mydate));

            switch (PerMonth)
            {
                case 1:
                    switch (PerDay)
                    {
                        case 1: return true;
                        case 2: return true;
                        case 3: return true;
                        case 4: return true;
                        case 12: return true;
                        case 13: return true;
                    }
                    break;
                case 3:
                    switch (PerDay)
                    {
                        case 14: return true;
                        case 15: return true;
                    }
                    break;
                case 11:
                    switch (PerDay)
                    {
                        case 22: return true;
                    }
                    break;
                case 12:
                    switch (PerDay)
                    {
                        case 29: return true;
                    }
                    break;
            }

            switch (HijMonth)
            {
                case 1:
                    switch (HijDay)
                    {
                        case 9: return true;
                        case 10: return true;
                    }
                    break;
                case 2:
                    switch (HijDay)
                    {
                        case 20: return true;
                        case 28: return true;
                        case 30: return true;
                    }
                    break;
                case 3:
                    switch (HijDay)
                    {
                        case 17: return true;
                    }
                    break;
                case 6:
                    switch (HijDay)
                    {
                        case 3: return true;
                    }
                    break;
                case 7:
                    switch (HijDay)
                    {
                        case 13: return true;
                        case 27: return true;
                    }
                    break;
                case 8:
                    switch (HijDay)
                    {
                        case 15: return true;
                    }
                    break;
                case 9:
                    switch (HijDay)
                    {
                        case 21: return true;
                    }
                    break;
                case 10:
                    switch (HijDay)
                    {
                        case 1: return true;
                        case 2: return true;
                        case 25: return true;
                    }
                    break;
                case 12:
                    switch (HijDay)
                    {
                        case 10: return true;
                        case 18: return true;
                    }
                    break;

            }

            return false;
        }
        public void BclUsesAstronomicalEpoch()
        {
            Calendar hijri = new HijriCalendar();
            DateTime bclDirect = new DateTime(1, 1, 1, 0, 0, 0, 0, hijri, DateTimeKind.Unspecified);

            CalendarSystem julianCalendar = CalendarSystem.Julian;
            LocalDate julianIslamicEpoch = new LocalDate(622, 7, 15, julianCalendar);
            LocalDate isoIslamicEpoch = julianIslamicEpoch.WithCalendar(CalendarSystem.Iso);
            DateTime bclFromNoda = isoIslamicEpoch.AtMidnight().ToDateTimeUnspecified();
            Assert.AreEqual(bclDirect, bclFromNoda);
        }
Пример #29
0
 public HijriDateTime()
 {
     var dateTime = DateTime.Now;
     var calendar = new HijriCalendar();
     Year = calendar.GetYear(dateTime);
     Month = calendar.GetMonth(dateTime);
     Day = calendar.GetDayOfMonth(dateTime);
     Hour = calendar.GetHour(dateTime);
     Minute = calendar.GetMinute(dateTime);
     Second = calendar.GetSecond(dateTime);
 }
        public void SampleDateBclCompatibility()
        {
            Calendar hijri = new HijriCalendar();
            DateTime bclDirect = new DateTime(1302, 10, 15, 0, 0, 0, 0, hijri, DateTimeKind.Unspecified);

            CalendarSystem islamicCalendar = CalendarSystem.IslamicBcl;
            LocalDate iso = new LocalDate(1302, 10, 15, islamicCalendar);
            DateTime bclFromNoda = iso.AtMidnight().ToDateTimeUnspecified();
            Assert.AreEqual(bclDirect, bclFromNoda);
        }
Пример #31
0
 /// <summary>返回指定 <see cref="T:System.DateTime" /> 中的纪元。</summary>
 /// <returns>表示指定的 <see cref="T:System.DateTime" /> 中纪元的整数。</returns>
 /// <param name="time">要读取的 <see cref="T:System.DateTime" />。</param>
 public override int GetEra(DateTime time)
 {
     HijriCalendar.CheckTicksRange(time.Ticks);
     return(HijriCalendar.HijriEra);
 }
Пример #32
0
 public static void HijriTest()
 {
     HijriCalendar hCal = new HijriCalendar();
     DateTime dTest = hCal.ToDateTime(1008, 06, 15, 0, 0, 0, 0);
     Assert.Equal(dTest, new DateTime(1600, 1, 1).AddDays(hCal.HijriAdjustment));
 }
Пример #33
0
 /// <summary>返回指定纪元年份中的月数。</summary>
 /// <returns>指定纪元年份中的月数。</returns>
 /// <param name="year">表示年份的整数。</param>
 /// <param name="era">表示纪元的整数。</param>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="era" /> 超出了此日历支持的范围。- 或 -<paramref name="year" /> 超出了此日历支持的范围。</exception>
 public override int GetMonthsInYear(int year, int era)
 {
     HijriCalendar.CheckYearRange(year, era);
     return(12);
 }
Пример #34
0
        /// <summary>
        /// GetCalendar returns a .NET Calendar equivalent to a CLDR Calendar
        /// </summary>
        /// <param name="calendar">A CLDR Calendar</param>
        /// <returns>A .NET Calendar</returns>
        private static System.Globalization.Calendar GetCalendar(Types.Calendar calendar)
        {
            System.Globalization.Calendar dotNetCalendar = null;

            if (string.Compare(calendar.Id, "gregorian", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar)
            {
                dotNetCalendar = new GregorianCalendar();
            }
            else if (string.Compare(calendar.Id, "japanese", StringComparison.InvariantCulture) == 0)
            {
                if (calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar)
                {
                    dotNetCalendar = new JapaneseCalendar();
                }
                else if (calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar)
                {
                    dotNetCalendar = new JapaneseLunisolarCalendar();
                }
            }
            else if (string.Compare(calendar.Id, "islamic-civil", StringComparison.InvariantCulture) == 0 &&
                calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar)
            {
                dotNetCalendar = new HijriCalendar();
            }
            else if (string.Compare(calendar.Id, "islamic", StringComparison.InvariantCulture) == 0
                && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar)
            {
                dotNetCalendar = new HijriCalendar();
            }
            else if (string.Compare(calendar.Id, "chinese", StringComparison.InvariantCulture) == 0 &&
                calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar)
            {
                dotNetCalendar = new ChineseLunisolarCalendar();
            }
            else if (string.Compare(calendar.Id, "hebrew", StringComparison.InvariantCulture) == 0 &&
                calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar)
            {
                dotNetCalendar = new HebrewCalendar();
            }
            else if (string.Compare(calendar.Id, "buddhist", StringComparison.InvariantCulture) == 0 &&
                calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar)
            {
                dotNetCalendar = new ThaiBuddhistCalendar();
            }
            else if (string.Compare(calendar.Id, "coptic", StringComparison.InvariantCulture) == 0)
            {
                return null;
            }
            else if (string.Compare(calendar.Id, "persian", StringComparison.InvariantCulture) == 0 &&
                calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar)
            {
                return new PersianCalendar();
            }
            else if (string.Compare(calendar.Id, "ethiopic", StringComparison.InvariantCulture) == 0)
            {
                return null;
            }
            else if (string.Compare(calendar.Id, "indian", StringComparison.InvariantCulture) == 0)
            {
                return null;
            }
            else if (string.Compare(calendar.Id, "roc", StringComparison.InvariantCulture) == 0)
            {
                return null;
            }

            return dotNetCalendar;
        }
Пример #35
0
 public override int GetLeapMonth(int year, int era)
 {
     HijriCalendar.CheckYearRange(year, era);
     return(0);
 }
Пример #36
0
        public static Calendar CalendarFromString(
            string                                      name
        )
        {
            Calendar                                    c;

            if (name == null)
            {
                name = String.Empty;
            }

            switch (name.ToLower())
            {
                case "hebrew":
                    c = new HebrewCalendar();
                    break;

                case "hijri":
                    c = new HijriCalendar();
                    break;

                case "japanese":
                    c = new JapaneseCalendar();
                    break;

                case "korean":
                    c = new KoreanCalendar();
                    break;

                case "taiwan":
                    c = new TaiwanCalendar();
                    break;

                case "thaibuddhist":
                    c = new ThaiBuddhistCalendar();
                    break;

                case "umalqura":
                    c = new UmAlQuraCalendar();
                    break;
#if !SILVERLIGHT
                case "persian":
                    c = new PersianCalendar();
                    break;
#endif 
                default:
                    c = new GregorianCalendar();
                    break;
            }

            return c;
        }
Пример #37
0
 /// <summary>确定指定纪元年份中的指定月份是否为闰月。</summary>
 /// <returns>此方法通常返回 false。</returns>
 /// <param name="year">表示年份的整数。</param>
 /// <param name="month">1 到 12 之间的一个整数,它表示月份。</param>
 /// <param name="era">表示纪元的整数。</param>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="era" /> 超出了此日历支持的范围。- 或 -<paramref name="year" /> 超出了此日历支持的范围。- 或 -<paramref name="month" /> 超出了此日历支持的范围。</exception>
 public override bool IsLeapMonth(int year, int month, int era)
 {
     HijriCalendar.CheckYearMonthRange(year, month, era);
     return(false);
 }
Пример #38
0
        public static string ayyam(DateTime date)
        {
            PersianCalendar persianCalender = new PersianCalendar();
            HijriCalendar hijriCalendar = new HijriCalendar();

            string ayyamName = "";
            string ayyamName2 = "";

            switch (persianCalender.GetMonth(date))
            {
                case 1:
                    switch (persianCalender.GetDayOfMonth(date))
                    {
                        case 1: ayyamName = "سال نو بر شما مبارک باد"; break;
                        case 2: ayyamName = "سال نو بر شما مبارک باد"; break;
                        case 3: ayyamName = "سال نو بر شما مبارک باد"; break;
                        case 4: ayyamName = "سال نو بر شما مبارک باد"; break;
                        case 5: ayyamName = "سال نو بر شما مبارک باد"; break;
                        case 12: ayyamName = "روز جمهوری اسلامی ایران -- تعطیل"; break;
                        case 13: ayyamName = "روز طبیعت -- تعطیل"; break;
                    }

                    break;

                case 3:
                    switch (persianCalender.GetDayOfMonth(date))
                    {
                        case 14: ayyamName = "رحلت حضرت امام خمینی -- تعطیل"; break;
                        case 15: ayyamName = "قیام خونین 15 خرداد -- تعطیل"; break;
                    }

                    break;

                case 11:
                    switch (persianCalender.GetDayOfMonth(date))
                    {
                        case 22: ayyamName = "پیروزی انقلاب و سقوط شاهنشاهی -- تعطیل"; break;

                    }
                    break;
                case 12:
                    switch (persianCalender.GetDayOfMonth(date))
                    {
                        case 29: ayyamName = "روز ملی شدن صنعت نفت ایران -- تعطیل"; break;
                    }
                    break;
            }
            /////////////////////////////////////////////////////////////////////////////////////////////////////////
            switch (hijriCalendar.GetMonth(date))
            {
                case 1:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 9: ayyamName2 = "تاسوعای حسینی -- تعطیل"; break;
                        case 10: ayyamName2 = "عاشورای حسینی -- تعطیل"; break;

                    }
                    break;
                case 2:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 20: ayyamName2 = "اربعین حسینی -- تعطیل"; break;
                        case 28: ayyamName2 = "رحلت حضرت رسول اکرم ص - شهادت حضرت امام حسن مجتبی ع -- تعطیل"; break;
                        case 30: ayyamName2 = "شهادت حضرت امام رضا ع - تعطیل"; break;
                    }
                    break;
                case 3:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 17: ayyamName2 = "میلاد حضرت رسول اکرم و روز اخلاق و مهرورزی -- میلاد امام جعفر صادق -- تعطیل"; break;
                    }
                    break;

                case 6:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 3: ayyamName2 = "شهادت حضرت فاطمه زهرا س -- تعطیل"; break;

                    }
                    break;
                case 7:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 13: ayyamName2 = "ولادت حضرت امام علی  علیه السلام - آغاز ایام اعتکاف -- تعطیل"; break;
                        case 27: ayyamName2 = "مبعث رسول اکرم ص -- تعطیل"; break;
                    }
                    break;
                case 8:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 15: ayyamName2 = "ولادت حضرت قائم عج روز جهانی مستضعفان -- تعطیل"; break;
                    }
                    break;
                case 9:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 21: ayyamName2 = "شهادت حضرت علی علیه السلام -- تعطیل"; break;

                    }
                    break;
                case 10:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 1: ayyamName2 = "عید سعید فطر -- تعطیل"; break;
                        case 25: ayyamName2 = "شهادت امام جعفر صادق ع -- تعطیل"; break;
                    }
                    break;

                case 12:
                    switch (hijriCalendar.GetDayOfMonth(date))
                    {
                        case 10: ayyamName2 = "عید سعید قربان -- تعطیل "; break;

                    }
                    break;

            }

            //////////////////////////////////////////////////////////////////////////////////////////////////
            return ayyamName2 + ((ayyamName2 != "" && ayyamName != "") ? " - " : "") + ayyamName;
        }
Пример #39
0
 /// <summary>确定指定纪元中的指定年份是否为闰年。</summary>
 /// <returns>如果指定的年是闰年,则为 true;否则为 false。</returns>
 /// <param name="year">表示年份的整数。</param>
 /// <param name="era">表示纪元的整数。</param>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="era" /> 超出了此日历支持的范围。- 或 -<paramref name="year" /> 超出了此日历支持的范围。</exception>
 public override bool IsLeapYear(int year, int era)
 {
     HijriCalendar.CheckYearRange(year, era);
     return((year * 11 + 14) % 30 < 11);
 }
Пример #40
0
        public DateTimeFormatter(string dateTimePattern, string calendarName, string amDesignator, string pmDesignator)
        {
            Calendar calendar = null;
            switch (calendarName)
            {
                case "ChineseLunisolarCalendar":
                    calendar = new ChineseLunisolarCalendar();
                    break;

                case "GregorianCalendar":
                    calendar = new GregorianCalendar();
                    break;

                case "HebrewCalendar":
                    calendar = new HebrewCalendar();
                    break;

                case "HijriCalendar":
                    calendar = new HijriCalendar();
                    break;

                case "JapaneseCalendar":
                    calendar = new JapaneseCalendar();
                    break;

                case "JapaneseLunisolarCalendar":
                    calendar = new JapaneseLunisolarCalendar();
                    break;

                case "JulianCalendar":
                    calendar = new JulianCalendar();
                    break;

                case "KoreanCalendar":
                    calendar = new KoreanCalendar();
                    break;

                case "KoreanLunisolarCalendar":
                    calendar = new KoreanLunisolarCalendar();
                    break;

                case "PersianCalendar":
                    calendar = new PersianCalendar();
                    break;

                case "TaiwanCalendar":
                    calendar = new TaiwanCalendar();
                    break;

                case "TaiwanLunisolarCalendar":
                    calendar = new TaiwanLunisolarCalendar();
                    break;

                case "ThaiBuddhistCalendar":
                    calendar = new ThaiBuddhistCalendar();
                    break;

                case "UmAlQuraCalendar":
                    calendar = new UmAlQuraCalendar();
                    break;
            }

            Initialize(dateTimePattern, calendar, amDesignator, pmDesignator);
        }
Пример #41
0
 // Constructor.
 public UmAlQuraCalendar()
 {
     hijri = new HijriCalendar();
     hijri.HijriAdjustment = 0;
 }