如何在没有时间的情况下获得日期差异

时间:2016-05-07 11:20:04

标签: c# .net datetime

如何在没有时间的情况下找到2个日期之间的差异 在这段代码中,我总是得到日期和时间,我无法检查差异

DateTime dt = Convert.ToDateTime(x); //x is string of date which i read it from a text file
DateTime today1 = DateTime.Today; //Date
DateTime dateTime1 = DateTime.UtcNow.Date;

if ((dt2 - dt).TotalDays < 14)
{
    w = fields[1];
    while (dr.Read())
    {
        i += 1;
    }
    dr.Close();
    if (i == 1)
    {

    }
}

3 个答案:

答案 0 :(得分:0)

只需访问Date

dt部分即可
if ((dt2 - dt.Date).TotalDays < 14)

答案 1 :(得分:0)

您可以在以日期为基础的日期中获得差异:

(dt2.Date - dt.Date).TotalDays

dt2.Date.Subtract(dt.Date).Days

但如果您只想显示日期,可以使用:

dt.Date.ToString("d")

答案 2 :(得分:0)

如果您只想要使用天数差异

TimeSpan t = dt2 - dt;
double NrOfDays = Math.Round(t.TotalDays);

或者如果你只想要日期部分差异然后使用它,这将从第一个日期删除时间部分,然后将时间部分设置为时间12:00:00 AM,所以当你采取差异时,只有日期部分因时间部分而不同是一样的

double days = Math.Round((DateTime.ParseExact(dt2.ToString("dd/MM/yyyy"), "dd/MM/yyyy", CultureInfo.InvariantCulture) 
                        - DateTime.ParseExact(dt.ToString("dd/MM/yyyy"), "dd/MM/yyyy", CultureInfo.InvariantCulture)).TotalDays);