Подсчет числа между двумя датами (C #, CultureInfo) - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь получить Число между 2 датами :

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 Ответ

3 голосов
/ 10 июля 2019

Я не уверен, чего именно вы пытаетесь достичь, но я предполагаю, что вы хотите получить разницу в днях только в датах, исключая время.

Для этого вам нужно удалить компонент времени DateTime, выполнив .Date:

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

TotalDays является верным в вашем примере, поскольку между двумя указанными вами точными значениями нет полной даты, но если вы будете действовать только в датах, вы получите правильный ответ.

...