Asp.net mvc 获取月份的实际差异DateTime ASP.NET MVC
我在这里有以下日期:Asp.net mvc 获取月份的实际差异DateTime ASP.NET MVC,asp.net-mvc,datetime,Asp.net Mvc,Datetime,我在这里有以下日期: date1 = 2015-1-1 date2 = 2014-1-1 当我使用此代码时: int difference = date1.Value.Month - date2.Value.Month 这将返回0。我希望实际结果是12个月,因为日期差在一年之内 有人帮忙吗?这是一个全新的概念。试试这段代码 DateTime date1 = Convert.ToDateTime("2015-1-1"); DateTime date2 = Convert.ToDateTime(
date1 = 2015-1-1
date2 = 2014-1-1
当我使用此代码时:
int difference = date1.Value.Month - date2.Value.Month
这将返回0。我希望实际结果是12个月,因为日期差在一年之内
有人帮忙吗?这是一个全新的概念。试试这段代码
DateTime date1 = Convert.ToDateTime("2015-1-1");
DateTime date2 = Convert.ToDateTime("2014-1-1");
Console.WriteLine((date1.Month - date2.Month) + 12 * (date1.Year - date2.Year));
您无法获得确切的结果,因为日期/年份可能会发生变化,但您仍然可以 你可以试试这个:
//you can determine that the average month has 30.44 days (source:google)
const double daysToMonths = 30.4368499;
DateTime date1 = Convert.ToDateTime("2015-1-1");
DateTime date2 = Convert.ToDateTime("2014-1-1");
//round is optional here
Double Diff = Math.Round(date1.Subtract(date2).TotalDays/daysToMonths,0);
我通过在参考中添加Microsoft.VisualBasic并使用Visual Basic中的DateDiff函数解决了此问题。通过使用它,我不再需要手动计算日期,我只需要设置时间间隔和两个日期,然后它就可以完美地执行了
DateAndTime.DateDiff(DateInterval.Month, (DateTime)promoevent.TargetStartDate, (DateTime)promoevent.TargetEndDate);
date1和date2是DateTime对象吗?由于date1.value.Month的值为1,而date2.value.Month的值又是1,因此1-1可能是0,因此它的正确值可能重复:-此链接将对您有很大帮助。[按此][1][1]:
DateAndTime.DateDiff(DateInterval.Month, (DateTime)promoevent.TargetStartDate, (DateTime)promoevent.TargetEndDate);