164 votes

Obtenir le nombre de jours dans un mois

J'ai une boîte combo contenant tous les mois.

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

Ainsi, si un utilisateur sélectionne janvier, je dois enregistrer 31 dans une variable.

349voto

Jon Skeet Points 692016

Vous voulez DateTime.DaysInMonth :

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

Évidemment, cela varie selon les années, puisque le mois de février compte parfois 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.

33voto

pate Points 6759

Utilisez System.DateTime.DaysInMonth de l'échantillon 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);

14voto

Meenakshi Rana Points 505

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

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

OU

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

Sortie :- 31

2voto

Code Points 467
  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*/

1voto

Salim Darjaan Points 11
 int days = DateTime.DaysInMonth(int year,int month);

o

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

vous devez passer l'année et le mois comme int alors les jours du mois seront retournés sur l'année et le mois currespoting

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X