计算两个日期之间的数字(C#、CultureInfo)

Count number between two date (C#, CultureInfo)

我试图获取 两个日期之间的数字:

DateTime base;
....
base = DateTime.ParseExact(pos[13], "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
//example base =  2014-06-21 17:00:00

DateTime col_N;

//then some for loop
col_N = DateTime.ParseExact(pos[k], "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); 
//example col_N = 2014-06-22 00:00:00

为了让我在下面这样做:

int date_diff = (col_N - base).Days;

但它 return 我 0.

此外,当我检查时:

string diff_dat2 = (col_N - base).TotalDays.ToString();

我得到了 0,291666666666667

如何更正它以获得 1 天?

我不确定你到底想达到什么目的,但我假设你想在不包括时间的日期中获得天数差异。

要实现此目的,您需要通过执行 .Date:

删除 DateTime 的时间组件
int date_diff = (col_N.Date - base.Date).Days;

TotalDays 在您的示例中是正确的,因为您所拥有的两个时间之间没有完整的日期,但如果您仅在日期中操作,您将得到正确的答案。