Estoy convirtiendo una pequeña aplicación de MSAccess en una aplicación ASP.NET basada en web, usando C# 3.5. Me preguntaba cuál es la mejor manera de trabajar con las fechas en C#, al convertir parte de este código de VBA en C#.En C#, ¿cómo se convierte el tipo de datos TimeSpan a DateTime?
Aquí se muestra un ejemplo del código VBA:
Coverage1=IIf(IsNull([EffDate1]),0,IIf([CurrDate]<=[EndDate1],[CurrDate]-[EffDate1],[EndDate1]-[EffDate1]+1))
Aquí es lo que mi actual código C# parece que con los errores indicados en el código comentado:
public DateTime CalculateCoverageOne(DateTime dateEffDateOne, DateTime dateCurrentDate, DateTime dateEndDateOne)
{
if (dateCurrentDate.Date <= dateEndDateOne.Date)
{
return null; //Get "cannot convert null to System.DateTime because it is a non-nullable value type" error
}
else
{
if (dateCurrentDate.Date <= dateEndDateOne)
{
return dateCurrentDate.Subtract(dateEffDateOne); //Gets error "cannot implicitly convert system.timepsan to system.datetime
}
else
{
return dateEndDateOne.Subtract(dateEffDateOne.AddDays(1)); //Gets error "cannot implicitly convert system.timepsan to system.datetime
}
}
}
Más excelente. ¡Muchas gracias! – program247365