コード例 #1
0
ファイル: caltype.cs プロジェクト: zeromus/dotnet-api-docs
    public static void Main()
    {
        GregorianCalendar grCal = new GregorianCalendar();
        HijriCalendar     hiCal = new HijriCalendar();
        JapaneseLunisolarCalendar
            jaCal = new JapaneseLunisolarCalendar();

        Display(grCal);
        Display(hiCal);
        Display(jaCal);
    }
コード例 #2
0
        public void GetYearInfo_should_be_callable_indirectly()
        {
            using (new IndirectionsContext())
            {
                // Arrange
                PJapaneseLunisolarCalendar.GetYearInfoInt32Int32().Body = (@this, lunarYear, index) => 41;

                // Act
                var calendar = new JapaneseLunisolarCalendar();
                var actual   = calendar.GetLeapMonth(26, calendar.Eras[0]);

                // Assert
                // Before setting indirection: 平成 26 年 閏 9
                Assert.AreEqual(42, actual);
            }
        }
コード例 #3
0
        public static void Main(string[] args)
        {
            //各種暦を作成
            GregorianCalendar         gre    = new GregorianCalendar();
            JapaneseCalendar          jpn    = new JapaneseCalendar();
            JapaneseLunisolarCalendar jpnLun = new JapaneseLunisolarCalendar();
            HebrewCalendar            heb    = new HebrewCalendar();

            //各暦での現在の日付を表示
            WriteCalendar(gre);
            WriteCalendar(jpn);
            WriteCalendar(jpnLun);
            WriteCalendar(heb);

            Console.ReadKey();
        }
コード例 #4
0
ファイル: CalendarTest.cs プロジェクト: xwyangjshb/mono
 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
     };
     clcal = new ChineseLunisolarCalendar();
     tlcal = new TaiwanLunisolarCalendar();
     jlcal = new JapaneseLunisolarCalendar();
     klcal = new KoreanLunisolarCalendar();
 }
コード例 #5
0
        public static void Cultures()
        {
            // These classes won't be linked away because of the code.
            //
            // This is to resolve crash at CultureInfo.CurrentCulture
            // when language is set to Thai. See
            // https://github.com/xamarin/Xamarin.Forms/issues/4037

            _ = new ChineseLunisolarCalendar();
            _ = new HebrewCalendar();
            _ = new HijriCalendar();
            _ = new JapaneseCalendar();
            _ = new JapaneseLunisolarCalendar();
            _ = new KoreanCalendar();
            _ = new KoreanLunisolarCalendar();
            _ = new PersianCalendar();
            _ = new TaiwanCalendar();
            _ = new TaiwanLunisolarCalendar();
            _ = new ThaiBuddhistCalendar();
            _ = new UmAlQuraCalendar();
        }
コード例 #6
0
        public void GetYearInfo_should_be_callable_indirectly_against_only_specified_instance()
        {
            using (new IndirectionsContext())
            {
                // Arrange
                var calendar = new JapaneseLunisolarCalendar();

                var calendarProxy = new PProxyJapaneseLunisolarCalendar();
                calendarProxy.GetEraDateTime().Body             = (@this, time) => calendar.Eras[0];
                calendarProxy.GetGregorianYearInt32Int32().Body = (@this, year, era) => 2000;
                calendarProxy.GetYearInfoInt32Int32().Body      = (@this, lunarYear, index) => 41;
                var calendar_sut = (JapaneseLunisolarCalendar)calendarProxy;

                // Act
                var actual = calendar_sut.GetLeapMonth(26, calendar.Eras[0]);

                // Assert
                Assert.AreEqual(42, actual);
                Assert.AreNotEqual(calendar.GetLeapMonth(26, calendar.Eras[0]), actual);
            }
        }
コード例 #7
0
        public void CalEraInfo_should_be_callable_indirectly()
        {
            using (new IndirectionsContext())
            {
                // Arrange
                var japaneseLunisolarCalendar_get_CalEraInfo = default(MethodInfo);
                var expected = default(Array);
                MakeCalEraInfoTestData(out japaneseLunisolarCalendar_get_CalEraInfo, out expected);

                PJapaneseLunisolarCalendar.CalEraInfoGet().Body = args => expected;


                // Act
                var calendar = new JapaneseLunisolarCalendar();
                var actual   = japaneseLunisolarCalendar_get_CalEraInfo.Invoke(calendar, null) as IEnumerable;


                // Assert
                CollectionAssert.AreEqual(expected, actual);
            }
        }
コード例 #8
0
    public static void Main()
    {
        DateTime date1 = new DateTime(2011, 8, 28);
        Calendar cal   = new JapaneseLunisolarCalendar();

        Console.WriteLine("{0} {1:d4}/{2:d2}/{3:d2}",
                          cal.GetEra(date1),
                          cal.GetYear(date1),
                          cal.GetMonth(date1),
                          cal.GetDayOfMonth(date1));

        // Display eras
        CultureInfo        culture = CultureInfo.CreateSpecificCulture("ja-JP");
        DateTimeFormatInfo dtfi    = culture.DateTimeFormat;

        dtfi.Calendar = new JapaneseCalendar();

        Console.WriteLine("{0} {1:d4}/{2:d2}/{3:d2}",
                          dtfi.GetAbbreviatedEraName(cal.GetEra(date1)),
                          cal.GetYear(date1),
                          cal.GetMonth(date1),
                          cal.GetDayOfMonth(date1));
    }
コード例 #9
0
        public void CalEraInfo_should_be_callable_indirectly_against_only_specified_instance()
        {
            using (new IndirectionsContext())
            {
                // Arrange
                var calendar = new JapaneseLunisolarCalendar();

                var calendarProxy = new PProxyJapaneseLunisolarCalendar();
                var japaneseLunisolarCalendar_get_CalEraInfo = default(MethodInfo);
                var expected = default(Array);
                MakeCalEraInfoTestData(out japaneseLunisolarCalendar_get_CalEraInfo, out expected);
                calendarProxy.CalEraInfoGet().Body = args => expected;
                var calendar_sut = (JapaneseLunisolarCalendar)calendarProxy;


                // Act
                var actual = japaneseLunisolarCalendar_get_CalEraInfo.Invoke(calendar_sut, null) as IEnumerable;


                // Assert
                CollectionAssert.AreEqual(expected, actual);
                CollectionAssert.AreNotEqual(japaneseLunisolarCalendar_get_CalEraInfo.Invoke(calendar, null) as IEnumerable, actual);
            }
        }
コード例 #10
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);
        }
コード例 #11
0
ファイル: DateTimeFormatter.cs プロジェクト: LazyBui/Peygir
        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);
        }
コード例 #12
0
 /// <summary>初始化 <see cref="T:System.Globalization.JapaneseLunisolarCalendar" /> 类的新实例。</summary>
 public JapaneseLunisolarCalendar()
 {
     this.helper = new GregorianCalendarHelper((Calendar)this, JapaneseLunisolarCalendar.TrimEras(JapaneseCalendar.GetEraInfo()));
 }
コード例 #13
0
ファイル: Calendars.cs プロジェクト: traktraktrugui/corefx
        public static void JapaneseLunisolarTest()
        {
            JapaneseLunisolarCalendar cal = new JapaneseLunisolarCalendar();

            Assert.True(cal.Eras.Length >= 2);
        }
コード例 #14
0
        public static Calendar GetCalendar(this CalendarEnum self, CultureInfo culture = null)
        {
            Calendar calendar = null;

            switch (self)
            {
            case CalendarEnum.Gregorian:
                calendar = new GregorianCalendar();
                break;

            case CalendarEnum.Hebrew:
                calendar = new HebrewCalendar();
                break;

            case CalendarEnum.UmAlQura:
                calendar = new UmAlQuraCalendar();
                break;

            case CalendarEnum.Hijri:
                calendar = new HijriCalendar();
                break;

            case CalendarEnum.Japanese:
                calendar = new JapaneseCalendar();
                break;

            case CalendarEnum.JapaneseLunisolar:
                calendar = new JapaneseLunisolarCalendar();
                break;

            case CalendarEnum.Julian:
                calendar = new JulianCalendar();
                break;

            case CalendarEnum.Korean:
                calendar = new KoreanCalendar();
                break;

            case CalendarEnum.KoreanLunisolar:
                calendar = new KoreanLunisolarCalendar();
                break;

            case CalendarEnum.Persian:
                calendar = new PersianCalendar();
                break;

            case CalendarEnum.Taiwan:
                calendar = new TaiwanCalendar();
                break;

            case CalendarEnum.TaiwanLunisolar:
                calendar = new TaiwanLunisolarCalendar();
                break;

            case CalendarEnum.ThaiBuddhist:
                calendar = new ThaiBuddhistCalendar();
                break;

            default:
                if (culture == null)
                {
                    culture = System.Threading.Thread.CurrentThread.CurrentCulture;
                }
                calendar = culture.Calendar;
                break;
            }

            return(calendar);
        }