Tôi đang chuyển đổi một ứng dụng MSAccess nhỏ sang ứng dụng ASP.NET dựa trên web, sử dụng C# 3.5. Tôi đã tự hỏi cách tốt nhất để làm việc với các ngày trong C# là gì, khi chuyển đổi một số mã VBA này sang C#.Trong C#, làm thế nào để bạn chuyển đổi kiểu dữ liệu TimeSpan thành DateTime?
Dưới đây là một ví dụ của Bộ luật VBA:
Coverage1=IIf(IsNull([EffDate1]),0,IIf([CurrDate]<=[EndDate1],[CurrDate]-[EffDate1],[EndDate1]-[EffDate1]+1))
Đây là những gì hiện tại C# mã của tôi trông giống như với các lỗi ký hiệu trong các mã nhận xét:
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
}
}
}
Tuyệt vời nhất. Cảm ơn nhiều! – program247365