Anzahl der Tage in einem Monat ermitteln

135

Ich habe eine ComboBox mit all den Monaten darin.

Was ich wissen muss, ist die Anzahl der Tage im gewählten Monat.

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

Wenn ein Benutzer Januar auswählt, muss ich 31 in einer Variablen speichern.

Dharman
quelle

Antworten:

296

Sie wollen DateTime.DaysInMonth:

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

Offensichtlich variiert es von Jahr zu Jahr, da der Februar manchmal 28 Tage und manchmal 29 Tage hat. Sie können immer ein bestimmtes Jahr auswählen (Sprung oder nicht), wenn Sie es auf den einen oder anderen Wert "fixieren" möchten.

Jon Skeet
quelle
30

Verwenden Sie System.DateTime.DaysInMonth aus dem Codebeispiel:

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);
Petrus Theron
quelle
3

Um die Anzahl der Tage in einem Monat zu ermitteln, bietet die DateTime- Klasse die Methode "DaysInMonth (int year, int month)". Diese Methode gibt die Gesamtzahl der Tage in einem bestimmten Monat zurück.

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

ODER

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

Ausgabe: - 31

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

oder

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

Sie müssen Jahr und Monat übergeben, da intdann Tage im Monat auf Jahr und Monat zurückkommen

Salim Darjaan
quelle
0

Ich habe dafür gesorgt, dass Tage im Monat aus dem von datetimepicker ausgewählten Monat und Jahr berechnet werden, und ich habe den Code in datetimepicker1 geändert, um das Ergebnis in einem Textfeld mit diesem Code zurückzugeben

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();
} 
hady
quelle
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*/
JIYAUL MUSTAPHA
quelle
-4
  • int days = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);


Wenn Sie Tage in diesem Jahr und im aktuellen Monat finden möchten, ist dies am besten

Bilal Ch
quelle