【发布时间】:2014-10-02 11:23:30
【问题描述】:
谁能告诉我这两个函数在 C# 中的区别是什么? TotalDays 和 Days 因为我不确定应该在我的代码中使用哪一次?很抱歉这篇文章的信息太少了,但我没什么好说的。
【问题讨论】:
谁能告诉我这两个函数在 C# 中的区别是什么? TotalDays 和 Days 因为我不确定应该在我的代码中使用哪一次?很抱歉这篇文章的信息太少了,但我没什么好说的。
【问题讨论】:
因为我没有找到重复的,所以我在这里发表我的评论:
始终首先阅读documentation。 TotalDays 是 double,因为它代表整数天和小数天,而 Days 是 int,它仅代表天数。
TimeSpan.Days/TotalDays的备注部分甚至明确提到了这一点:
Days 属性表示一整天,而 TotalDays 属性表示整数天和小数天。
有一点需要注意,与 TimeSpan 中的其他属性(如 Hours/TotalHours)相比,Days 没有限制。因此它不会以 30 或 365 结尾(例如 Hour,范围从 -23 到 23),因为没有比年份更大的单位。所以Days 将始终与(int) ts.TotalDays 相同。
TimeSpan没有合理的“年”概念,因为它 取决于起点和终点。 (月份相似 - 多少 29天有几个月?好吧,这取决于...)[J。飞碟]
【讨论】:
Days 的包含令人惊讶,因为每天的秒数实际上是可变的(例如闰秒)。查看这两个属性的源代码,我看到 .NET 代码对 Ticks 执行天真除法,假设每天有固定数量的滴答声,我认为这是不正确的。