我正在一个应用程序中,我有两个数据库字段。一个是Date
,另一个是插入数据类型为VARCHAR(10)
的记录的时间。如何在datagridview中显示时间间隔?
我需要用这些字段填充DataGridView。
问题是我必须填写时间作为这些日期之间的经过时间。
如果记录是在2010/08/20 18:00:00
处添加的。
- 如果示出2分钟后的数据然后它会显示
2 Mins Ago
- 如果后2个小时,然后
2 Hrs Ago
- 如果2天,然后
2 Days Ago
。
我正在一个应用程序中,我有两个数据库字段。一个是Date
,另一个是插入数据类型为VARCHAR(10)
的记录的时间。如何在datagridview中显示时间间隔?
我需要用这些字段填充DataGridView。
问题是我必须填写时间作为这些日期之间的经过时间。
如果记录是在2010/08/20 18:00:00
处添加的。
2 Mins Ago
2 Hrs Ago
2 Days Ago
。首先,您必须简单地通过从DateTime.Now
减去它来计算TimeSpan
。以此TimeSpan和this answer(或此问题中的其他任何内容)为例,编写一个函数,该函数使用此TimeSpan
并返回所需的string
。
将该列的选择作为时间段进行:now - then
。然后转换为您需要的任何时间单位。
考虑在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上创建扩展方法,但可能是它自己的静态成员方法。