Получение количества дней в месяц
У меня есть поле со всеми месяцами.
Мне нужно знать количество дней в выбранном месяце.
var month = cmbMonth.SelectedIndex + 1;
DateTime date = Convert.ToDateTime(month);
Итак, если пользователь выбирает январь, мне нужно сохранить 31 в переменную.
Ответы
Ответ 1
Вы хотите DateTime.DaysInMonth
:
int days = DateTime.DaysInMonth(year, month);
Очевидно, он меняется в зависимости от года, так как иногда в феврале есть 28 дней, а иногда 29. Вы всегда можете выбрать конкретный год (прыжок или нет), если хотите "исправить" его до одного значения.
Ответ 2
Используйте 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);
Ответ 3
Чтобы узнать количество дней в месяце, класс DateTime предоставляет метод "DaysInMonth (int year, int month)".
Этот метод возвращает общее количество дней в указанном месяце.
public int TotalNumberOfDaysInMonth(int year, int month)
{
return DateTime.DaysInMonth(year, month);
}
ИЛИ
int days = DateTime.DaysInMonth(2018,05);
Вывод: - 31
Ответ 4
int days = DateTime.DaysInMonth(int year,int month);
или
int days=System.Globalization.CultureInfo.CurrentCulture.Calendar.GetDaysInMonth(int year,int month);
вы должны передать год и месяц как int
, тогда дни в месяце будут возвращаться в соответствующий год и месяц
Ответ 5
Я сделал так, чтобы он вычислял дни в месяце из datetimepicker, выбранного месяца и года, и я изменил текст в datetimepicker1, чтобы вернуть результат в текстовое поле
с этим кодом
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();
}
Ответ 6
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*/
Ответ 7
если вы хотите найти дни в этом году и настоящем месяце, тогда это лучше всего