如何计算指定月下旬的天数?
如何计算指定月的最后一天?
求简单算法

解决方案 »

  1.   

    光是指定月还不行吧,得指定年月吧?最简单的情况,不同年的2月份,天数或者最后一天都是不同的指定年月的最后一天的话,例如指定x年y月,可以用
    Dim dd as Date = "x-y+1-1"
    dd.AddDay(-1)
    得到指定年月的最后一天下旬的天数可以通过dd.AddDay(-1)后的日期(28,29,30,31)4种情况,分别判断得到
      

  2.   

            Dim dd As Date = "2009-8-1"
            dd = dd.AddDays(-1)
            Dim i As Integer
            i = Day(dd)
            i -= 20
    这样得到2009年7月的最后一天dd,下旬的天数i
      

  3.   

    思路,不是代码首先 AddMonths(1)
    然后减掉原来的时间,得到一个 TimeSpan
    把这个 TimeSpan 减掉 20 天,大概这就是这样
      

  4.   


            public int LateDays(DateTime DateTime)
            {
                int[] arrayLate = { 11, 8, 11, 10, 11, 10, 11, 11, 10, 11, 10, 11 };            if (DateTime.IsLeapYear(DateTime.Year) && DateTime.Month == 2)
                {
                    return 9;
                }
                else
                {
                    return arrayLate[DateTime.Month - 1];
                }我自己写的,不知道还有没有更加简单的。
      

  5.   

    try...            int year = 2009;
                int month = 9;
                DateTime endMonth = new DateTime(year, month, 1).AddMonths(1).AddDays(-1);  //该月月末
                int days = endMonth.Day - 20;            richTextBox2.Text += "该用最后一天: " + endMonth.ToString("yyyy-MM-dd") + "\n";
                richTextBox2.Text += "下旬天数: " + days;