c# - 返回正确的日期时间差数月甚至数年?

标签 c# datetime

是否有任何内置函数可以让我以比天数更好的方式获得 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/

相关文章:

c# - 将电话号码解析为其部分

ruby-on-rails - ruby 日期时间 : Get next 5:15pm (or similar)

vb.net - 确定当前时间是上午还是下午的最简单方法?

ruby-on-rails - 如何在 Rails 中将随机 DateTime 四舍五入到小时开始?

c# - 是否有一种设计模式可以帮助比较大量数据?

c# - 具有 .Net 核心的 AWS Lambda - 为 IOptions 启用注入(inject)?

c# - 在 TextBlock 中环绕文本

c# - 如何从库类中获取调用页面名称

php - MySQL 日期比较建议

python-3.x - 如何生成频率为周二至周六(含)的 Pandas 日期范围?