web-dev-qa-db-fra.com

Obtenir le nombre de jours dans un mois

J'ai une comboBox avec tous les mois qu'elle contient.

Ce que j'ai besoin de savoir, c'est le nombre de jours du mois choisi.

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

Donc, si un utilisateur sélectionne Janvier, je dois enregistrer 31 dans une variable. Merci.

96
delete

Vous voulez DateTime.DaysInMonth :

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

Évidemment, cela varie d’une année à l’autre, parfois 28 jours en février et 29 jours en février. Vous pouvez toujours choisir une année particulière (avec ou sans sauts) si vous voulez la "fixer" à une valeur ou une autre.

227
Jon Skeet

Utilisez System.DateTime.DaysInMonth , à partir d'un exemple de code:

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

Pour trouver le nombre de jours dans un mois, DateTime class fournit une méthode "DaysInMonth (int year, int month)". Cette méthode renvoie le nombre total de jours d'un mois spécifié. 

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

OU 

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

Sortie: - 31

2
Meenakshi
  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*/
0
JIYAUL MUSTAPHA
 int days = DateTime.DaysInMonth(int year,int month);

ou

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

vous devez passer l'année et le mois en tant que int, puis les jours dans le mois seront retournés l'année et le mois

0
Salim Darjaan

Je l'ai fait calculer les jours dans le mois à partir du mois et de l'année sélectionnés par datetimepicker, et moi, mais le code dans datetimepicker1 a été modifié pour renvoyer le résultat dans une zone de texte

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
hady