Отримання кількості днів за місяць


135

У мене є комбобокс з усіма місяцями в ньому.

Що мені потрібно знати, це кількість днів у вибраному місяці.

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

Отже, якщо користувач вибирає січень, мені потрібно зберегти 31 до змінної.

Відповіді:


297

Ви хочете DateTime.DaysInMonth:

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

Очевидно, що вона різниться за роками, оскільки іноді лютий має 28 днів, а іноді і 29. Ви завжди можете вибрати певний рік (стрибковий чи ні), якщо хочете "зафіксувати" його до одного чи іншого значення.


30

Використовуйте 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 рік, int місяць)". Цей метод повертає загальну кількість днів у визначеному місяці.

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

АБО

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

Вихід: - 31


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

або

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

ви повинні пройти рік і місяць, оскільки intтоді дні в місяці будуть повернені на відповідні рік і місяць


0

Я змусив її обчислювати дні в місяць від вибраного місяця і року, але я, але код у 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();
} 

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*/

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


якщо ви хочете знайти дні в цьому році та поточному місяці, тоді це найкраще

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.