'C#'에 해당되는 글 1건

  1. 2008/10/25 六曜を取得する
2008/10/25 21:52

六曜を取得する

        /// <summary>
        /// 六曜を取得する。
        /// </summary>
        /// <param name="targetdate">調査する日付</param>
        /// <returns></returns>
        internal static string GetRokuyouString(DateTime targetdate)
        {
            int month;
            int uru;
            int day;
            string rtn = "";

            System.Globalization.JapaneseLunisolarCalendar jpnc = new System.Globalization.JapaneseLunisolarCalendar();

            month = jpnc.GetMonth(targetdate);
            day = jpnc.GetDayOfMonth(targetdate);

            //閏月を取得
            uru = jpnc.GetLeapMonth(jpnc.GetYear(targetdate), jpnc.GetEra(targetdate));

            if ((uru > 0) && (month - uru >= 0)) //閏月がある場合の補正
            {
                month = month - 1;
            }


            switch ((month + day) % 6)
            {
                case 0:
                    rtn = "大安";
                    break;

                case 1:
                    rtn = "赤口";
                    break;

                case 2:
                    rtn = "先勝";
                    break;

                case 3:
                    rtn = "友引";
                    break;

                case 4:
                    rtn = "先負";
                    break;

                case 5:
                    rtn = "仏滅";
                    break;

                default:
                    break;
            }

            return rtn;
        }

Trackback 0 Comment 0