예제 #1
0
        public static string timeHelper(DateTime tDate)
        {
            TaiwanCalendar twC = new TaiwanCalendar();

            return(twC.GetYear(tDate) +
                   "." + twC.GetMonth(tDate) + "." + twC.GetDayOfMonth(tDate));
        }
        public void PosTest4()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            DateTime dt = tc.MinSupportedDateTime;

            Assert.Equal(1, tc.GetDayOfMonth(dt));
        }
예제 #3
0
        public String GetBirthDate(DateType type, DateFormat format)
        {
            string result = "";

            switch (type)
            {
            case DateType.Calendar:
                result = (format == DateFormat.ShortDate) ? this.birthDate.ToString("d") : this.birthDate.ToString("D");
                break;

            case DateType.ChineseCalendar:
                //System.Globalization.TaiwanCalendar
                TaiwanCalendar c1 = new TaiwanCalendar();
                int            y  = c1.GetYear(this.birthDate);
                int            m  = c1.GetMonth(this.birthDate);
                int            d  = c1.GetDayOfMonth(this.birthDate);
                result = (format == DateFormat.ShortDate) ? String.Format("{0:000}/{1:00}/{2:00}", y, m, d) : String.Format("民國{0}年{1}月{2}日", y, m, d);
                break;

            case DateType.ChineseLunisolar:
                //System.Globalization.TaiwanLunisolarCalendar
                TaiwanLunisolarCalendar c2 = new TaiwanLunisolarCalendar();
                int y2 = c2.GetYear(this.birthDate);
                int m2 = c2.GetMonth(this.birthDate);
                int d2 = c2.GetDayOfMonth(this.birthDate);
                result = (format == DateFormat.ShortDate) ? String.Format("{0:000}/{1:00}/{2:00}", y2, m2, d2) : String.Format("農曆{0}年{1}月{2}日", y2, m2, d2);
                break;

            default:
                break;
            }
            return(result);
        }
예제 #4
0
        /// <summary>
        /// Convert the DateTime object to TaiwanCalendar DateTime format.
        /// For example: 2008/1/1 will become 97/1/1
        /// </summary>
        public static DateTime ToTaiwanDateTime(this DateTime d)
        {
            TaiwanCalendar tc = new TaiwanCalendar();

            DateTime result = new DateTime(tc.GetYear(d), tc.GetMonth(d), tc.GetDayOfMonth(d), d.Hour, d.Minute, d.Second, d.Millisecond);

            return(result);
        }
예제 #5
0
        /// <summary>
        /// 取得民國日
        /// </summary>
        /// <param name="datetime"></param>
        /// <returns></returns>
        public string TaiwanDateDays(DateTime datetime)
        {
            if (datetime == DateTime.MinValue)
            {
                return(" ");
            }
            TaiwanCalendar taiwanCalendar = new TaiwanCalendar();

            return(string.Format("{0:00}", taiwanCalendar.GetDayOfMonth(datetime)));
        }
        public void PosTest2()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random   rand  = new Random(-55);
            int      year  = 2000;
            int      month = 2;
            int      day;
            DateTime dt;

            for (day = 1; day < 30; day++)
            {
                dt = new DateTime(year, month, day);
                Assert.Equal(tc.GetDayOfMonth(dt), day);
            }
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tc = new TaiwanCalendar();
            Random rand  = new Random(-55);
            int    year  = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911);
            int    month = rand.Next(1, 12);
            int    day;

            if (tc.IsLeapYear(year))
            {
                day = rand.Next(1, 30);
            }
            else
            {
                day = rand.Next(1, 29);
            }

            DateTime dt         = tc.ToDateTime(year, month, day, 0, 0, 0, 0);
            int      actualDays = dt.Day;

            Assert.Equal(tc.GetDayOfMonth(dt), actualDays);
        }
    public static void Main()
    {
        // Create an instance of the calendar.
        TaiwanCalendar myCal = new TaiwanCalendar();

        Console.WriteLine(myCal.ToString());

        // Create an instance of the GregorianCalendar.
        GregorianCalendar myGre = new GregorianCalendar();

        // Display the MinValue and its equivalent in the GregorianCalendar.
        DateTime myMin = myCal.MinSupportedDateTime;

        Console.Write("MinSupportedDateTime: {0:D2}/{1:D2}/{2:D4}", myCal.GetMonth(myMin), myCal.GetDayOfMonth(myMin), myCal.GetYear(myMin));
        Console.WriteLine(" (in Gregorian, {0:D2}/{1:D2}/{2:D4})", myGre.GetMonth(myMin), myGre.GetDayOfMonth(myMin), myGre.GetYear(myMin));

        // Display the MaxValue and its equivalent in the GregorianCalendar.
        DateTime myMax = myCal.MaxSupportedDateTime;

        Console.Write("MaxSupportedDateTime: {0:D2}/{1:D2}/{2:D4}", myCal.GetMonth(myMax), myCal.GetDayOfMonth(myMax), myCal.GetYear(myMax));
        Console.WriteLine(" (in Gregorian, {0:D2}/{1:D2}/{2:D4})", myGre.GetMonth(myMax), myGre.GetDayOfMonth(myMax), myGre.GetYear(myMax));
    }
예제 #9
0
        static public string GetTaiwanToday()
        {
            TaiwanCalendar twC = new TaiwanCalendar();

            return(twC.GetYear(DateTime.Today) + "/" + twC.GetMonth(DateTime.Today) + "/" + twC.GetDayOfMonth(DateTime.Today));
            //twC = null;
        }
예제 #10
0
        /// <summary>
        /// 取得民國年月日 (100年10月10日)
        /// </summary>
        public static string GetTaiwanChiDate(this DateTime dt)
        {
            TaiwanCalendar tc = new TaiwanCalendar();

            return(tc.GetYear(dt) + "年" + tc.GetMonth(dt) + "月" + tc.GetDayOfMonth(dt) + "日");
        }