Member 9983063 Ответов: 1

Как вычесть время datagridview и время systime в C#


Привет, ребята, я надеюсь, что вы будете в порядке, ну моя проблема в том, что я хочу знать, как вычесть (минус) данные сетки просмотра DateTime к системной дате и времени на самом деле я хочу результат в hh mm ss am not pm или фактическое время я хочу знать, если кто-то позвонит мне так, сколько времени, прежде чем он позвонил мне на мой телефон .
Спасибо

Что я уже пробовал:

int i;
инт Дж;
int y;
i =datagridview.currentrow.cell[4]. value.метод toString()
Дж = система.датавремя.сейчас.метод toString();
Г = (Я - J)
текстовое поле textbox1.текст = г.метод toString;

F-ES Sitecore

Не обрабатывайте визуализированные значения ячеек, так как у вас нет никакой гарантии, что в них находится, Вам нужно получить доступ к базовым данным, к которым привязан gridview. Вы можете получить доступ к этому через событие RowDataBound, например здесь.

Надеюсь, данные будут в DateTime, так что вы просто вычитаете эти два значения и используете .ToString на результат, чтобы получить его в нужном формате. Google "c# вычитает значения даты и времени", и я уверен, что вы найдете примеры.

Richard Deeming

Репост
Вы уже опубликовали это:
https://www.codeproject.com/Questions/1191779/How-to-subtract-datagridview-column-time-and-syste[^]

1 Ответов

Рейтинг:
2

OriginalGriff

Прекратите преобразование в строки и вместо этого преобразуйте их в DateTime:
Если ваше значение в DatagridView является DateTime, то используйте его непосредственно:

DateTime i = (DateTime) datagridview.currentrow.cell[4].value;

Если это строка, то разберите ее:
DateTime i;
if (!DateTime.TryParse(datagridview.currentrow.cell[4].value.ToString(), out i))
   {
   // Report a problem to user or log it
   ...
   return;
   }
Тогда вы можете просто вычесть:
Timespan diff = i - DateTime.Now;
textbox1.Text = diff.Days.ToString();
Если вам не нужны дни, то есть и другие варианты: Свойства TimeSpan (Система)[^]