Obtenir le nombre de jours dans un mois


136

J'ai une comboBox avec tous les mois.

Ce que j'ai besoin de savoir, c'est le nombre de jours dans le 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.

Réponses:


298

Vous voulez DateTime.DaysInMonth:

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

Évidemment, cela varie d'une année à l'autre, car parfois février a 28 jours et parfois 29. Vous pouvez toujours choisir une année particulière (bissextile ou non) si vous voulez la "fixer" à une valeur ou à une autre.


31

Utilisez System.DateTime.DaysInMonth , à partir de l'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);

4

Pour trouver le nombre de jours dans un mois, la classe DateTime fournit une méthode «DaysInMonth (int year, int month)». Cette méthode renvoie le nombre total de jours dans 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


1
 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, car les intjours du mois seront de retour sur l'année et le mois de currespoting


1

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

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();
} 

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

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


si vous voulez trouver des jours de cette année et du mois actuel, c'est mieux

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.