获得一个月的天数

时间:2011-01-28 19:58:27

标签: c# datetime

我有一个包含所有月份的组合框。

我需要知道的是所选月份的天数。

var month = cmbMonth.SelectedIndex + 1;
DateTime date = Convert.ToDateTime(month);

因此,如果用户选择1月,我需要将31保存到变量中。感谢。

7 个答案:

答案 0 :(得分:245)

您想要DateTime.DaysInMonth

int days = DateTime.DaysInMonth(year, month);

显然它会随着年份而变化,因为有时2月有28天,有时候是29天。如果你想把它“固定”到一个值或其他值,你总是可以选择特定年份(跳跃与否)。

答案 1 :(得分:27)

使用代码示例中的System.DateTime.DaysInMonth

const int July = 7;
const int Feb = 2;

// daysInJuly gets 31.
int daysInJuly = System.DateTime.DaysInMonth(2001, July);

// daysInFeb gets 28 because the year 1998 was not a leap year.
int daysInFeb = System.DateTime.DaysInMonth(1998, Feb);

// daysInFebLeap gets 29 because the year 1996 was a leap year.
int daysInFebLeap = System.DateTime.DaysInMonth(1996, Feb);

答案 2 :(得分:2)

要查找一个月中的天数, DateTime 类提供了一种方法“ DaysInMonth(int year,in month month)”。 此方法返回指定月份中的总天数。

public int TotalNumberOfDaysInMonth(int year, int month)
    {
        return DateTime.DaysInMonth(year, month);
    }

OR

int days = DateTime.DaysInMonth(2018,05);

输出:-31

答案 3 :(得分:0)

 int days = DateTime.DaysInMonth(int year,int month);

 int days=System.Globalization.CultureInfo.CurrentCulture.Calendar.GetDaysInMonth(int year,int month);

你必须将年份和月份作为int传递,然后按月计算一年中和几个月

答案 4 :(得分:0)

我从datetimepicker选择的月份和年份开始计算每月的天数,而我在datetimepicker1 textchange中的代码将结果返回到文本框中 使用此代码

private void DateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    int s = System.DateTime.DaysInMonth(DateTimePicker1.Value.Date.Year, DateTimePicker1.Value.Date.Month);

    TextBox1.Text = s.ToString();
} 

答案 5 :(得分:0)

  int month = Convert.ToInt32(ddlMonth.SelectedValue);/*Store month Value From page*/
  int year = Convert.ToInt32(txtYear.Value);/*Store Year Value From page*/
  int days = System.DateTime.DaysInMonth(year, month); /*this will store no. of days for month, year that we store*/

答案 6 :(得分:-4)

  • int days = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);

如果你想在今年和现在找到几天,那么这是最好的