我试图获取两个日期之间的数字:
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 天?
答案 0 :(得分:3)
我不确定您要实现的目标到底是什么,但我想您希望仅在不包括时间的日期中获得不同的天数。
要实现此目的,您需要执行.Date
来删除DateTime的时间部分:
int date_diff = (col_N.Date - base.Date).Days;
在您的示例中,TotalDays是正确的,因为两次之间没有完整的日期,但是如果仅使用日期进行操作,您将得到正确的答案。