Example #1
0
        /// <summary>
        ///     根据公历,返回对应农历日期
        /// </summary>
        /// <param name="date">公历日期</param>
        /// <returns></returns>
        public static ChinaDate ConvertToLunisolar(DateTime date)
        {
            ChineseLunisolarCalendar calendar = new ChineseLunisolarCalendar();

            if (date > calendar.MaxSupportedDateTime || date < calendar.MinSupportedDateTime)
            {
                //日期范围:1901 年 2 月 19 日 - 2101 年 1 月 28 日
                throw new Exception(string.Format("日期超出范围!必须在{0}到{1}之间!",
                                                  calendar.MinSupportedDateTime.ToString("yyyy-MM-dd"),
                                                  calendar.MaxSupportedDateTime.ToString("yyyy-MM-dd")));
            }

            int iYear     = calendar.GetYear(date);
            int iMonth    = calendar.GetMonth(date);
            int leapMonth = calendar.GetLeapMonth(iYear);
            //判断是否闰月
            var isLeapMonth = iMonth == leapMonth;

            if (leapMonth != 0 && iMonth >= leapMonth)
            {
                iMonth--;
            }
            int iDay = calendar.GetDayOfMonth(date);

            var chinaDate = new ChinaDate();

            chinaDate.Year  = iYear;
            chinaDate.Month = iMonth;
            chinaDate.Day   = iDay;

            return(chinaDate);
        }
Example #2
0
    protected void rdlDate_SelectedIndexChanged(object sender, EventArgs e)
    {
        string beginTime = "", endTime = "";

        switch (rdlDate.SelectedValue)
        {
        case "thisDay":
            beginTime = string.Format("{0:yyyy-MM-dd} 00:00:00", DateTime.Today);
            endTime   = string.Format("{0:yyyy-MM-dd} 23:59:59", DateTime.Today);
            break;

        case "thisWeek":
            DateTime dt = ChinaDate.GetMondayDateByDate(DateTime.Today);
            beginTime = string.Format("{0:yyyy-MM-dd} 00:00:00", dt);
            endTime   = string.Format("{0:yyyy-MM-dd} 23:59:59", dt.AddDays(6));
            break;

        case "thisMonth":
            beginTime = string.Format("{0:yyyy-MM}-01 00:00:00", DateTime.Today);
            endTime   = string.Format("{0:yyyy-MM}-" + ChinaDate.GetDaysByMonth(DateTime.Today.Year, DateTime.Today.Month) + " 23:59:59", DateTime.Today);
            break;
        }
        txtBeginTime.Text = beginTime;
        txtEndTime.Text   = endTime;
    }
Example #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
            this.lblDateTime.Text = DateTime.Now.ToString("yyyy年MM月dd日 ") + Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
            this.lblDayInfo.Text  = ChinaDate.GetMonth(DateTime.Now) + ChinaDate.GetDay(DateTime.Now)
                                    + " " + ChinaDate.GetSolarTerm(DateTime.Now)
                                    + " " + ChinaDate.GetHoliday(DateTime.Now)
                                    + " " + ChinaDate.GetChinaHoliday(DateTime.Now);
            var customer     = HozestERPContext.Current.User;
            var customerInfo = HozestERPContext.Current.User.SCustomerInfo;

            if (customerInfo != null)
            {
                this.lblUserName.Text = customerInfo.FullName;
                if (customerInfo.SDepartment != null)
                {
                    this.lblUserName.Text += "【" + customerInfo.SDepartment.DepName + "】";
                }
            }
            this.BindColumn();

            //int year = 2000;
            //for (int i = 0; i <= 50; i++)
            //{
            //    cbYear.Items.Add(new ExtNet.ListItem((year + i).ToString() + "年", (year + i).ToString()));
            //}

            //for (int i = 1; i <= 12; i++)
            //{
            //    cbMonth.Items.Add(new ExtNet.ListItem(i.ToString().PadLeft('0',2) + "月", i.ToString().PadLeft('0',2)));
            //}
        }
Example #4
0
    protected void clShowTime_DayRender(object sender, DayRenderEventArgs e)
    {
        User user = (User)Session["Login"];
        //自定义显示内容
        CalendarDay calDay = e.Day;
        //获取表示呈现在空间中的单元格
        TableCell tc = e.Cell;
        CNDate    dt = ChinaDate.getChinaDate(calDay.Date);//农历转换对象

        if (calDay.IsOtherMonth)
        {
            tc.Controls.Clear();
        }
        else
        {
            try
            {
                HyperLink ahyperLink = new HyperLink();
                ahyperLink.ImageUrl    = "~/Images/add_Schedule.gif";
                ahyperLink.ToolTip     = "新增个人日程";
                ahyperLink.NavigateUrl = "SaveMySchedule.aspx?today=" + calDay.Date.ToShortDateString();
                tc.Controls.Add(new LiteralControl("&nbsp;" + "&nbsp;" + "&nbsp;"));
                tc.Controls.Add(ahyperLink);
                tc.Controls.Add(new LiteralControl("<br>" + dt.cnStrMonth + "月" + dt.cnStrDay)); //添加农历日期
                tc.Controls.Add(new LiteralControl("<br>" + dt.cnSolarTerm));                    //添加农历节气
                tc.Controls.Add(new LiteralControl(dt.cnFtvl));                                  //添加节日
                e.Cell.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#FFCCFF';cursor='hand';";
                e.Cell.Attributes["onmouseout"]  = "javascript:this.style.backgroundColor='#ffffff';";
                IList <Schedule> schedules = ScheduleManager.SearchSchedule(calDay.Date.ToShortDateString(), -1, user.UserName, false);
                if (schedules != null)
                {
                    string str = null;
                    foreach (Schedule schedule in schedules)
                    {
                        HtmlAnchor ha = new HtmlAnchor();
                        ha.HRef = "SaveMySchedule.aspx?userId=" + user.UserId + "&today=" + calDay.Date.ToShortDateString();
                        try {
                            str = schedule.Title.Substring(0, 3);
                        }
                        catch (Exception ex)
                        {
                            str = schedule.Title;
                        }
                        ha.InnerText = "@ " + schedule.BeginTime.Hour + ":" + schedule.BeginTime.Minute + str + "...";
                        //tc.Controls.Add(new LiteralControl("&nbsp;"+"&nbsp;"+"&nbsp;"));
                        //tc.Controls.Add(new LiteralControl("<br>"));
                        tc.Controls.Add(ha);
                    }
                }
            }
            catch (Exception ex)
            {
                e.Cell.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#fff7ce';cursor='hand';";
                e.Cell.Attributes["onmouseout"]  = "javascript:this.style.backgroundColor='#ffffff';";
            }
        }
    }
 public void UT_GetChinaDate_V1()
 {
     try
     {
         CNDate result = ChinaDate.GetChinaDate(DateTime.Now);
         Assert.IsTrue(result == null ? false : true);
     }
     catch (Exception ex)
     {
         Assert.Fail(ex.Message);
     }
 }
 public void UT_GetMondayDateByDate_V1()
 {
     try
     {
         DateTime result = ChinaDate.GetMondayDateByDate(DateTime.Now);
         Assert.AreEqual("2017-05-29", result.ToString("yyyy-MM-dd"));
     }
     catch (Exception ex)
     {
         Assert.Fail(ex.Message);
     }
 }
 public void UT_GetDaysByMonth_V1()
 {
     try
     {
         int result = ChinaDate.GetDaysByMonth(2017, 5);
         Assert.AreEqual(31, result);
     }
     catch (Exception ex)
     {
         Assert.Fail(ex.Message);
     }
 }
Example #8
0
 public MyDates(DateTime datetime)
 {
     dt      = datetime;
     days    = new List <Day>();
     year    = dt.Year;
     month   = dt.Month;
     day     = dt.Day;
     dttemp  = new DateTime(year, month, 1);
     weeknum = dttemp.DayOfWeek - DayOfWeek.Sunday;
     dt      = dttemp.AddDays(0 - weeknum);
     try
     {
         Days.Clear();
         for (int i = 1; i <= 42; i++)
         {
             mydate1 = new MyDate();
             ChinaDate.GetChinaDate(dt, ref mydate1);
             Day oneday = new Day();
             oneday.year   = dt.Year;
             oneday.month  = dt.Month;
             oneday.day    = dt.Day;
             oneday.mydate = mydate1;
             if (mydate1.Day.Equals("初一"))
             {
                 oneday.lunarday = mydate1.Month;
             }
             else
             {
                 oneday.lunarday = mydate1.Day;
             }
             if (!oneday.mydate.ChinaHoliday.Equals(string.Empty) && !oneday.mydate.ChinaHoliday.Equals("请返回重新查询"))
             {
                 oneday.showday = (oneday.day > 9 ? " " + oneday.day.ToString() : "  " + oneday.day.ToString()) + "\n" + oneday.mydate.ChinaHoliday;
             }
             else if (!oneday.mydate.SolorTerm.Equals(string.Empty) && !oneday.mydate.SolorTerm.Equals("到"))
             {
                 oneday.showday = (oneday.day > 9 ? " " + oneday.day.ToString() : "  " + oneday.day.ToString()) + "\n" + oneday.mydate.SolorTerm;
             }
             else
             {
                 oneday.showday = (oneday.day > 9 ? " " + oneday.day.ToString() : "  " + oneday.day.ToString()) + (oneday.mydate.Day.Equals("") ? string.Empty : "\n" + oneday.lunarday);
             }
             oneday.dayofweek = dt.DayOfWeek.ToString();
             Days.Add(oneday);
             dt = dt.AddDays(1);
         }
     }
     catch (Exception) { }
 }
Example #9
0
        private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            var now = DateTime.Now;


            #region 拼接农历日期
            var str    = ChinaDate.GetChinaDate(now);
            var animal = str[1];
            var gv     = str.Substring(3, 2);
            var date   = str.Split()[1];

            var f = $"{gv} {animal}年 {date}";
            #endregion
            //Debug.WriteLine($"INFO {f}");

            DateTimeInfo.LunarDateText = f;
            DateTimeInfo.TimeText      = now.ToString("HH:mm:ss", culture);
            DateTimeInfo.DayOfWeekText = now.ToString("dddd", culture);
            DateTimeInfo.DateText      = now.ToString("yyyyMMMMdd", culture) + "日";
        }
Example #10
0
 internal GameAPI MemberWork()
 {
     if (Member == null)
     {
         return(this);
     }
     Logger.Instance.AddLog(LogType.Debug, Member.Checked.Date + " " + DateTime.Now.Date);
     if (Member.Checked.Date != DateTime.Now.Date)
     {
         StringBuilder sb = new StringBuilder();
         sb.AppendLine("已" + Member.Work.ToString() + ", 获取了" + SharedData.Instance.工资[Member.Work] + "金币!");
         if (Member.Checked.AddDays(1).Date == DateTime.Now.Date)
         {
             Member.Combo++;
             if (Member.Combo > 0)
             {
                 sb.Append("C");
             }
             if (Member.Combo > 1)
             {
                 sb.Append("O");
             }
             if (Member.Combo > 2)
             {
                 sb.Append("M");
             }
             if (Member.Combo > 3)
             {
                 sb.Append("B");
             }
             if (Member.Combo > 4)
             {
                 sb.Append("O");
             }
             if (Member.Combo == 5)
             {
                 Member.Combo = 0;
                 sb.AppendLine("\n恭喜连续工作获得勤工奖!额外获得了500金币!");
                 Member.Cash += 500;
             }
         }
         else
         {
             Member.Combo = 0;
         }
         Session.SendGroupMessage(Member.Member.GroupId, new AtMessage(Member.Member.QQId), new PlainMessage(sb.ToString()));
         Member.Exp    += SharedData.Instance.工资[Member.Work];
         Member.Cash   += SharedData.Instance.工资[Member.Work];
         Member.Checked = DateTime.Now;
         if (Member.Exp > SharedData.Instance.需要经验值[Member.Work] && Member.Work != Enum.GetValues(typeof(Work)).Cast <Work>().Last())
         {
             Member.Work = Member.Work.Next();
             Session.SendGroupMessage(Member.Member.GroupId, new AtMessage(Member.Member.QQId), new PlainMessage("已升级啦!接下来的工作为" + Member.Work.ToString() + ", 工资为" + SharedData.Instance.工资[Member.Work] + "金币!"));
         }
         var holiday1 = ChinaDate.GetHoliday(DateTime.Now);
         var holiday2 = ChinaDate.GetChinaHoliday(DateTime.Now);
         if (holiday1 != ChinaDate.GHoliday.无)
         {
             Member.Cash += 2000;
             Session.SendGroupMessage(Member.Member.GroupId, new AtMessage(Member.Member.QQId), new PlainMessage("今天是" + holiday1.ToString() + ",大本营特意送了2000金币!"));
         }
         if (holiday2 != ChinaDate.NHoliday.无)
         {
             Member.Cash += 2000;
             Session.SendGroupMessage(Member.Member.GroupId, new AtMessage(Member.Member.QQId), new PlainMessage("今天是" + holiday2.ToString() + ",大本营特意送了2000金币!"));
         }
     }
     else
     {
         Session.SendGroupMessage(Member.Member.GroupId, new PlainMessage("虽然"), new AtMessage(Member.Member.QQId), new PlainMessage("很想自主996加班,然而被雇主给轰了出去并且被告上大本营法庭处置"));
         Session.Mute(Member.Member.GroupId, Member.Member.QQId, new TimeSpan(0, 1, 0));
     }
     return(this);
 }
Example #11
0
    void update_days(bool flag)
    {
        GameObject days_obj = transform.FindChild("days").gameObject;
        GameObject select   = null;
        int        maxDays  = DateTime.DaysInMonth(_year, _month);
        DateTime   fisrt    = new DateTime(_year, _month, 1);
        DayOfWeek  week     = fisrt.DayOfWeek;
        int        start    = MyUtilTools.GetWeekDays(week);//这个月的第一天
        int        preMonth = _month - 1;
        int        preYear  = _year;

        if (preMonth == 0)
        {
            preMonth = 12;
            preYear--;
        }
        int  stand          = start == 0 ? 1 : 0;
        int  temp           = start == 0 ? 7 : start;
        int  preLastDay     = DateTime.DaysInMonth(preYear, preMonth);
        int  dayIndex       = preLastDay - temp + 1;
        int  dayCount       = 0;
        int  nextMonth      = _month;
        int  nextYear       = _year;
        bool nextMonthStart = false;
        bool thisMonthStart = false;

        for (int i = 0; i < 6; i++)
        {
            GameObject row_obj = days_obj.transform.FindChild("row" + i).gameObject;
            if (i <= stand)
            {
                for (int j = 0; j < 7; j++)
                {
                    GameObject day = row_obj.transform.FindChild("col" + j).gameObject;
                    if (flag)
                    {
                        UIButton      button       = day.GetComponent <UIButton>();
                        EventDelegate event_select = new EventDelegate(this, "doSelect");
                        event_select.parameters[0]     = new EventDelegate.Parameter();
                        event_select.parameters[0].obj = day;
                        button.onClick.Add(event_select);
                    }
                    if (dayIndex < preLastDay - 1 && !thisMonthStart)
                    {
                        day.SetActive(false);
                    }
                    else
                    {
                        if (!thisMonthStart && dayIndex > preLastDay)
                        {
                            thisMonthStart = true;
                            dayIndex       = 1;
                            preMonth++;
                            if (preMonth > 12)
                            {
                                preMonth = 1;
                                preYear++;
                            }
                        }
                        day.SetActive(true);
                        UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>();
                        label.text = dayIndex + "";
                        label      = day.transform.FindChild("nl").GetComponent <UILabel>();
                        if (dayIndex == DateTime.Now.Day && preMonth == DateTime.Now.Month && preYear == DateTime.Now.Year)
                        {
                            label.text = "今天";
                        }
                        else
                        {
                            DateTime dateTime = DateTime.Parse(preYear + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00");
                            CNDate   cnDate   = ChinaDate.getChinaDate(dateTime);
                            if (!cnDate.cnFtvl.Equals(""))
                            {
                                label.text = cnDate.cnFtvl;
                            }
                            else if (!cnDate.cnFtvs.Equals(""))
                            {
                                label.text = cnDate.cnFtvs;
                            }
                            else if (!cnDate.cnSolarTerm.Equals(""))
                            {
                                label.text = cnDate.cnSolarTerm;
                            }
                            else
                            {
                                label.text = cnDate.cnStrDay;
                            }
                        }
                        if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year)
                        {
                            selectIndex = dayCount;
                        }
                    }
                    CalendarData cd = day.GetComponent <CalendarData>();
                    cd.Value = MyUtilTools.numToString(preYear) + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex);
                    cd.Index = dayCount;
                    dayIndex++;
                    dayCount++;
                }
            }
            else
            {
                for (int j = 0; j < 7; j++)
                {
                    GameObject day = row_obj.transform.FindChild("col" + j).gameObject;
                    if (flag)
                    {
                        UIButton      button       = day.GetComponent <UIButton>();
                        EventDelegate event_select = new EventDelegate(this, "doSelect");
                        event_select.parameters[0]     = new EventDelegate.Parameter();
                        event_select.parameters[0].obj = day;
                        button.onClick.Add(event_select);
                    }
                    if (nextMonthStart)
                    {
                        day.SetActive(false);
                    }
                    else
                    {
                        day.SetActive(true);
                        UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>();
                        label.text = dayIndex + "";
                        label      = day.transform.FindChild("nl").GetComponent <UILabel>();
                        if (dayIndex == DateTime.Now.Day && nextMonth == DateTime.Now.Month && nextYear == DateTime.Now.Year)
                        {
                            label.text = "今天";
                        }
                        else
                        {
                            DateTime dateTime = DateTime.Parse(nextYear + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00");
                            CNDate   cnDate   = ChinaDate.getChinaDate(dateTime);
                            if (!cnDate.cnFtvl.Equals(""))
                            {
                                label.text = cnDate.cnFtvl;
                            }
                            else if (!cnDate.cnFtvs.Equals(""))
                            {
                                label.text = cnDate.cnFtvs;
                            }
                            else if (!cnDate.cnSolarTerm.Equals(""))
                            {
                                label.text = cnDate.cnSolarTerm;
                            }
                            else
                            {
                                label.text = cnDate.cnStrDay;
                            }
                        }
                        if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year)
                        {
                            selectIndex = dayCount;
                        }
                        CalendarData cd = day.GetComponent <CalendarData>();
                        cd.Value = MyUtilTools.numToString(nextYear) + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex);
                        cd.Index = dayCount;
                        dayIndex++;
                        if (dayIndex > maxDays)
                        {//下一个月的天数
                            nextMonthStart = true;
                            dayIndex       = 1;
                            nextMonth++;
                            if (nextMonth > 12)
                            {
                                nextMonth = 1;
                                nextYear++;
                            }
                        }
                    }
                    dayCount++;
                }
            }
        }
        int row = selectIndex / 7;
        int col = selectIndex % 7;

        select = days_obj.transform.FindChild("row" + row).FindChild("col" + col).gameObject;
        if (flag)
        {
            selectIndex = -1;
        }
        doSelect(select);
    }
Example #12
0
    void _update()
    {
        if (list_container == null)
        {
            list_container = needshow[0].transform.FindChild("list").FindChild("body").FindChild("container");
            texture1       = Resources.Load <Texture>("pic/time-event1");
            texture2       = Resources.Load <Texture>("pic/time-event2");
            texture3       = Resources.Load <Texture>("pic/time-event3");
            texture4       = Resources.Load <Texture>("pic/time-event4");
            TimeLineRefresh refresh = needshow[0].AddComponent <TimeLineRefresh>();
            refresh.timeEvent = this;
        }
        if (Calendar.selectTexture == null)
        {
            Calendar.selectTexture = Resources.Load <Texture>("pic/time-sb");
        }
        list_container.parent.GetComponent <UIPanel>().clipOffset = Vector2.zero;
        list_container.parent.localPosition = new Vector3(0, 0, 0);
        UILabel year_label = list_container.FindChild("up").GetComponent <UILabel>();

        year_label.text = MyUtilTools.numToString(_year) + "年" + MyUtilTools.numToString(_month) + "月";
        Transform days_trans = list_container.FindChild("days");
        int       maxDays    = DateTime.DaysInMonth(_year, _month);
        DateTime  fisrt      = new DateTime(_year, _month, 1);
        DayOfWeek week       = fisrt.DayOfWeek;
        int       start      = MyUtilTools.GetWeekDays(week);//这个月的第一天
        int       preMonth   = _month - 1;
        int       preYear    = _year;

        if (preMonth == 0)
        {
            preMonth = 12;
            preYear--;
        }
        int  stand          = start == 0 ? 1 : 0;
        int  temp           = start == 0 ? 7 : start;
        int  preLastDay     = DateTime.DaysInMonth(preYear, preMonth);
        int  dayIndex       = preLastDay - temp + 1;
        int  dayCount       = 0;
        int  nextMonth      = _month;
        int  nextYear       = _year;
        bool nextMonthStart = false;
        bool thisMonthStart = false;

        for (int i = 0; i < 6; i++)
        {
            GameObject row_obj = days_trans.FindChild("row" + i).gameObject;
            if (i <= stand)
            {
                for (int j = 0; j < 7; j++)
                {
                    GameObject day    = row_obj.transform.FindChild("col" + j).gameObject;
                    UIButton   button = day.GetComponent <UIButton>();
                    if (button.onClick.Count == 0)
                    {
                        EventDelegate event_select = new EventDelegate(this, "doSelect");
                        event_select.parameters[0]     = new EventDelegate.Parameter();
                        event_select.parameters[0].obj = day;
                        button.onClick.Add(event_select);
                    }
                    if (dayIndex < preLastDay - 1 && !thisMonthStart)
                    {
                        day.SetActive(false);
                    }
                    else
                    {
                        if (!thisMonthStart && dayIndex > preLastDay)
                        {
                            thisMonthStart = true;
                            dayIndex       = 1;
                            preMonth++;
                            if (preMonth > 12)
                            {
                                preMonth = 1;
                                preYear++;
                            }
                        }
                        day.SetActive(true);
                        UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>();
                        label.text = dayIndex + "";
                        label      = day.transform.FindChild("nl").GetComponent <UILabel>();
                        if (dayIndex == DateTime.Now.Day && preMonth == DateTime.Now.Month && preYear == DateTime.Now.Year)
                        {
                            label.text = "今天";
                        }
                        else
                        {
                            DateTime dateTime = DateTime.Parse(preYear + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00");
                            CNDate   cnDate   = ChinaDate.getChinaDate(dateTime);
                            if (!cnDate.cnFtvl.Equals(""))
                            {
                                label.text = cnDate.cnFtvl;
                            }
                            else if (!cnDate.cnFtvs.Equals(""))
                            {
                                label.text = cnDate.cnFtvs;
                            }
                            else if (!cnDate.cnSolarTerm.Equals(""))
                            {
                                label.text = cnDate.cnSolarTerm;
                            }
                            else
                            {
                                label.text = cnDate.cnStrDay;
                            }
                        }
                        if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year)
                        {
                            selectIndex = dayCount;
                        }
                    }
                    _update_flags(day, preYear, preMonth, dayIndex);
                    CalendarData cd = day.GetComponent <CalendarData>();
                    cd.Value = MyUtilTools.numToString(preYear) + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex);
                    cd.Index = dayCount;
                    dayIndex++;
                    dayCount++;
                }
            }
            else
            {
                for (int j = 0; j < 7; j++)
                {
                    GameObject day    = row_obj.transform.FindChild("col" + j).gameObject;
                    UIButton   button = day.GetComponent <UIButton>();
                    if (button.onClick.Count == 0)
                    {
                        EventDelegate event_select = new EventDelegate(this, "doSelect");
                        event_select.parameters[0]     = new EventDelegate.Parameter();
                        event_select.parameters[0].obj = day;
                        button.onClick.Add(event_select);
                    }
                    if (nextMonthStart)
                    {
                        day.SetActive(false);
                    }
                    else
                    {
                        day.SetActive(true);
                        UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>();
                        label.text = dayIndex + "";
                        label      = day.transform.FindChild("nl").GetComponent <UILabel>();
                        if (dayIndex == DateTime.Now.Day && nextMonth == DateTime.Now.Month && nextYear == DateTime.Now.Year)
                        {
                            label.text = "今天";
                        }
                        else
                        {
                            DateTime dateTime = DateTime.Parse(nextYear + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00");
                            CNDate   cnDate   = ChinaDate.getChinaDate(dateTime);
                            if (!cnDate.cnFtvl.Equals(""))
                            {
                                label.text = cnDate.cnFtvl;
                            }
                            else if (!cnDate.cnFtvs.Equals(""))
                            {
                                label.text = cnDate.cnFtvs;
                            }
                            else if (!cnDate.cnSolarTerm.Equals(""))
                            {
                                label.text = cnDate.cnSolarTerm;
                            }
                            else
                            {
                                label.text = cnDate.cnStrDay;
                            }
                        }
                        if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year)
                        {
                            selectIndex = dayCount;
                        }
                        _update_flags(day, nextYear, nextMonth, dayIndex);
                        CalendarData cd = day.GetComponent <CalendarData>();
                        cd.Value = MyUtilTools.numToString(nextYear) + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex);
                        cd.Index = dayCount;
                        dayIndex++;
                        if (dayIndex > maxDays)
                        {//下一个月的天数
                            nextMonthStart = true;
                            dayIndex       = 1;
                            nextMonth++;
                            if (nextMonth > 12)
                            {
                                nextMonth = 1;
                                nextYear++;
                            }
                        }
                    }
                    dayCount++;
                }
            }
        }
        int        row    = selectIndex / 7;
        int        col    = selectIndex % 7;
        GameObject select = days_trans.FindChild("row" + row).FindChild("col" + col).gameObject;

        doSelect(select);
    }