是否有任何内置函数可以让我以比天数更好的方式获得 DateTime 对象之间的差异?我的意思是大约 1 个月 23 天。由于每个月的天数、闰年等不同,我发现很难计算。 谢谢
最佳答案
看看Noda Time .它一般还没有生产就绪,但相关位可能足以满足您当前的要求:)
请注意 TimeSpan
将不会做你想做的事,因为“1 个月”可能意味着不同的天数,具体取决于月份,而 TimeSpan
未锚定。
在 Noda Time 中,您需要一个 Period
。例如:
LocalDate start = new LocalDate(2010, 4, 15);
LocalDate end = new LocalDate(2010, 6, 19);
Period period = Period.Between(start, end); // Defaults to Year/Month/Day
Console.WriteLine(period.Months); // 2
Console.WriteLine(period.Days); // 4
请注意 date/time arithmetic is hard ...在某些情况下,“正确答案”一点也不明显。
关于c# - 返回正确的日期时间差数月甚至数年?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6520137/