给定一个string的年月日,格式为2000-1-1。
   目的:求出给定日期的前半年(前6个月,2000-1-1就是1999-7-1),每半个月,我要做一件事。
   划分半个月有三种情况:
       一、关于2月份是否为闰年的计算,如果为28天则等分,否则前半个月为14天,后半个月为15天;
       二、关于30天,也是等分;
       三、关于31天,前半个月为15,后半个月为16;
   要求:写个方法,可以传参String类型的日期(格式为2000-1-1)。并增加注释,越详细越好。
   在线等

解决方案 »

  1.   

    给你个参考        DateTime dt = DateTime.Now;
            int days = DateTime.DaysInMonth(dt.Year, dt.Month);
            if (dt.Day >= days / 2) //上半月
      

  2.   

    private string[] SelectDate(string date)
            {
                DateTime dt = DateTime.Parse(date);
                DateTime[] d = new DateTime[12];
                string[] strD = new string[12];
                for (int i = 0; i < 12; i++)
                {
                    if (i % 2 == 0)
                    {
                        d[i] = dt.AddMonths((i - 12) / 2);
                    }
                    else
                    {
                        if (d[i - 1].Month == 2)
                        {
                            d[i] = d[i - 1].AddDays(14);
                        }
                        else
                        {
                            d[i] = d[i - 1].AddDays(15);
                        }
                    }
                    strD[i] = d[i].ToShortDateString();
                }
                return strD;
            }
      

  3.   

    传参 2000-1-1
    >>>1999-7-1
    >>>1999-7-16
    >>>1999-8-1
    >>>1999-8-16
    >>>1999-9-1
    >>>1999-9-16
    >>>1999-10-1
    >>>1999-10-16
    >>>1999-11-1
    >>>1999-11-16
    >>>1999-12-1
    >>>1999-12-16
    这正确吗