A
TimeSpan没有明智的“年”概念,因为它取决于起点和终点。(几个月是相似的-29天内有多少个月?嗯,这取决于…)
为了提供一个无耻的插件,我的Noda Time项目使这变得非常简单:
using System;using NodaTime;public class Test{ static void Main(string[] args) { LocalDate start = new LocalDate(2010, 6, 19); LocalDate end = new LocalDate(2013, 4, 11); Period period = Period.Between(start, end, PeriodUnits.Years | PeriodUnits.Days); Console.WriteLine("Between {0} and {1} are {2} years and {3} days", start, end, period.Years, period.Days); }}输出:
Between 19 June 2010 and 11 April 2013 are 2 years and 296 days



