2011-02-15 16 views
20

cómo puedo detectar mediante programación, cuántos días hay para un mes en particular & año.Obtener el número de días para un mes específico

+1

¿Necesita aprovechar C# o desea el algoritmo general? –

+0

posible duplicado de [Obteniendo el número de días en un mes] (http://stackoverflow.com/questions/4832468/getting-number-of-days-in-a-month) – Jehof

Respuesta

63

Es already there:

DateTime.DaysInMonth(int year, int month); 

debe hacerlo.

+7

¡Agradable! uno nunca deja de descubrir lindos rincones del .NET Framework. –

4

Algo como esto debería hacer lo que quiera:

static int GetDaysInMonth(int year, int month) { 
    DateTime dt1 = new DateTime(year, month, 1); 
    DateTime dt2 = dt1.AddMonths(1); 
    TimeSpan ts = dt2 - dt1; 
    return (int)ts.TotalDays; 
} 

Si recibe el primer día del mes, añada un mes y contar los días en el medio.

+1

¿Por qué usaría un método tan horrible cuando ya existe y que en teoría podría modificarse para admitir cualquier calendario. –

+1

@Ramhound: cuando @Paolo respondió que probablemente no sabía que el método ya existía. – Zano

+0

Sí, simplemente no sabía que el método existía :) –

Cuestiones relacionadas