获取DateTime.Now和某个DateTime之间的总天数(int)

use*_*430 3 c# linq datetime

如何在DateTime.Now和特定DateTime之间获得int的天数?可以使用LINQ完成吗?

Wil*_*sem 10

您可以使用以下方法简单地计算差异:

DateTime a = ;//some datetime
DateTime now = DateTime.Now;
TimeSpan ts = now-a;
int days = Math.Abs(ts.Days);
Run Code Online (Sandbox Code Playgroud)

  • @KingKing你对'Hours` vs`TotalHours`和其他类似的游戏是正确的,但是对于'Days`而言,如果你不关心那些日子的小部分并不重要. (2认同)

Cyr*_*ral 7

只需将两个DateTimes相互减去a TimeSpan,然后从中获取TotalDays组件.

TimeSpan diff = DateTime.Now - OtherDateTime
int days = (int)Math.Abs(Math.Round(diff.TotalDays));
Run Code Online (Sandbox Code Playgroud)

它被四舍五入以去除由小时/分钟/秒引起的分数,并且给出绝对值以便得到确切的变化.

  • @CommuSoft:固定的,糟糕:) (2认同)