我想知道是否已经实施了Datecounter,它会计算它与日期之间的年份,月份和日期之间的差异?如果存在差异,该函数将计算差异的年数,月数和天数并存储它们,我们只需要使用Console.Writeline(timecomparer.yearDiffCounter);
告诉它们差异多少年
例如(伪代码,不是100%正确)!
Date date1 = new Date("2013-07-05");
Date date2 = new Date("2010-07-05");
TimeComparer compare = new TimeComparer();
compare.differDate(date1,date2); //here it will count and give 3 years difference
答案 0 :(得分:2)
使用Noda Time:
LocalDate date1 = new LocalDate(2013, 07, 05);
LocalDate date2 = new LocalDate(2010, 07, 05);
Period period = Period.Between(date2, date1, PeriodUnits.YearMonthDay);
Console.WriteLine("{0} years, {1} months, {2} days",
period.Years, period.Months, period.Days);
// "3 years, 0 months, 0 days"
答案 1 :(得分:1)
强大的时间解决方案是Jon Skeet Noda Time。
答案 2 :(得分:1)
public string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString() + "day"
+ ts.Hours.ToString() + "hours"
+ ts.Minutes.ToString() + "minutest"
+ ts.Seconds.ToString() + "seconds";
return dateDiff;
}
我的方式你可以改变。
答案 3 :(得分:-1)
C#中DateTime
个对象的布尔运算产生TimeSpan
个对象
DateTime Yesterday = DateTime.Now().AddDays(-1);
DateTime Today = DateTime.Now();
TimeSpan difference = Today - Yesterday;
然后,时间跨度可以告诉您它有多少天,小时,分钟,秒等。
如果您想要使用Timespan多年,请参阅this answer by brianary