2016-05-07 4 views
1

Как я могу найти разницу между 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) 
    { 

    } 
} 
+1

Этот вопрос, кажется, включает в себя несколько движущихся частей слишком много. Что такое 'dt2', почему релевант datareader? Или это? Если вы вычтите два значения «DateTime», которые имеют 00:00:00 как значения времени, вы должны получить количество дней между ними, но если они разные (локальные и т. Д.), Вы можете получить часы между ними , –

ответ

0

Просто возьмите Date часть dt

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

5/5/2016 12:00:00 AM выглядят следующим образом –

+0

Что будет выглядеть? –

0

Вы можете получить разницу в днях на основе финиковых только с:

(dt2.Date - dt.Date).TotalDays 

или

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

Но если вы хотите, чтобы отобразить даты только вы можете использовать:

dt.Date.ToString("d") 
+0

6/5/2016 12:00:00 AM выглядят следующим образом: –

+0

; какая строка кода? –

+0

dt.Date -> 6/5/2016 12:00:00 AM Мне нужна только дата –

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); 
Смежные вопросы