繁体   English   中英

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

[英]How to get date only difference without time

如何在没有时间的情况下找到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)
    {

    }
}

只需占用dtDate部分

if ((dt2 - dt.Date).TotalDays < 14)

您可以在日期的基础上获得天数差异:

(dt2.Date - dt.Date).TotalDays

要么

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

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

dt.Date.ToString("d")

如果你只想要天数差异,你可以使用

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM