2010-08-06 63 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

首先,您必須簡單地通過從DateTime.Now減去它來計算TimeSpan。以此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上創建擴展方法,但可能是它自己的靜態成員方法。