2010-08-06 60 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上创建扩展方法,但可能是它自己的静态成员方法。