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

时间:2019-07-10 10:22:45

标签: c# date datetime parsing datetime-parsing

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

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;

但它会返回我 0

另外,当我检查时:

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

我得到了 0,291666666666667

如何更正它以获得 1 天?

1 个答案:

答案 0 :(得分:3)

我不确定您要实现的目标到底是什么,但我想您希望仅在不包括时间的日期中获得不同的天数。

要实现此目的,您需要执行.Date来删除DateTime的时间部分:

int date_diff = (col_N.Date - base.Date).Days;

在您的示例中,TotalDays是正确的,因为两次之间没有完整的日期,但是如果仅使用日期进行操作,您将得到正确的答案。