pseudocodigo - Consultar año bisiesto en C#
calcular numero de años bisiestos entre dos fechas (3)
Quiero agregar la fecha de entrada + 1 año a una columna llamada fecha de finalización.
Si la fecha de entrada es en el año anterior, debo agregar 364 días, si no 365 días.
¿Hay alguna forma de verificar esto en c #, usando el año actual de datetime y manipular el año / año anterior, luego agregue los días?
Gracias.
Encuentro esto más limpio como método de extensión:
public static class DateTimeExtensions
{
public static bool IsLeapYear(this DateTime source)
{
return DateTime.IsLeapYear(source.Year);
}
}
Puede utilizar el método DateTime.IsLeapYear .
Pero solo por el manejo que realmente no necesita utilizar ese método. DateTime.AddYears
tiene en cuenta los años bisiestos.
var leapYear = new DateTime(2000, 2, 29);
Console.WriteLine("Is 2000 a leap year? {0}", DateTime.IsLeapYear(leapYear.Year)); // 2000 is a leap year
Console.WriteLine("One year added to {0} is {1}", leapYear, leapYear.AddYears(1)); // 2000-02-29 plus 1 year is 2001-02-28
var dateStart = new DateTime(2010,1,10); // Some date to check
var newDate = DateTime.IsLeapYear(dateStart.Year) ? dateStart.AddDays(365) : dateStart.AddDays(364);
// or
var newDate = dateStart.AddYears(1).AddDays(-1);