2010-08-06 3 views
0

Я работаю над приложением, в котором у меня есть два поля базы данных. Один из них - Date, а другой - время ввода записи с типом данных VARCHAR(10).Как показать временные интервалы в datagridview?

Мне нужно заполнить DataGridView этими полями.

Проблема в том, что я должен заполнить время как прошедшее время между этими датами.

Если запись добавлена ​​в 2010/08/20 18:00:00.

  • , если показывая данные после 2-х минут, после чего он будет показывать 2 Mins Ago
  • , если через 2 ч, затем 2 Hrs Ago
  • , если 2 дней, затем 2 Days Ago.

ответ

1

Сначала вы должны вычислить TimeSpan, просто вычитая его из DateTime.Now. Возьмите этот TimeSpan, а также this answer (или любой другой в этом вопросе), чтобы написать функцию, которая принимает этот TimeSpan, и возвращает нужный string.

0

Сделайте выбор для этой колонки как промежуток времени: now - then. Затем конвертируйте в любое время, которое вам нужно.

0

Рассмотрите возможность применения метода расширения на System.DateTime. Возможно, позвоните по вашему методу расширения примерно как ToRelativeTime(). Похоже, что ваша вторая дата - varchar, поэтому вам нужно будет сделать некоторую работу, чтобы преобразовать ее в datetime.

Вот example DateTime method that will subtract a given DateTime from Now. Модификация вы бы искать что-то вроде:

private static string ToRelativeDateTime(DateTime someDate, 
             DateTime rowInsertedAt) 

В вашем DataGridView, вы можете установить значение этого столбца будет возврат или выход из метода расширения.

Не обязательно использовать метод расширения в DateTime, но, возможно, статический метод-член сам по себе.

Смежные вопросы