C# 如何在datagridview中显示时间间隔?

C# 如何在datagridview中显示时间间隔?,c#,datetime,C#,Datetime,我正在开发一个应用程序,其中有两个数据库字段。一个是日期,另一个是插入数据类型为VARCHAR(10)的记录的时间 我需要用这些字段填充DataGridView 问题是,我必须将时间填充为这些日期时间之间经过的时间 如果记录是在2010/08/20 18:00:00添加的 如果在2分钟后显示数据,则将在2分钟前显示 如果在2小时后,则2小时前 如果是2天,则2天前 选择该列作为时间跨度:立即-然后。然后转换为所需的任何时间单位。考虑在System.DateTime上实现扩展方法。也许可以调用扩

我正在开发一个应用程序,其中有两个数据库字段。一个是
日期
,另一个是插入数据类型为
VARCHAR(10)
的记录的时间

我需要用这些字段填充DataGridView

问题是,我必须将时间填充为这些日期时间之间经过的时间

如果记录是在
2010/08/20 18:00:00添加的

  • 如果在2分钟后显示数据,则将在2分钟前显示
  • 如果在2小时后,则
    2小时前
  • 如果是2天,则
    2天前

选择该列作为时间跨度:
立即-然后
。然后转换为所需的任何时间单位。

考虑在
System.DateTime
上实现扩展方法。也许可以调用扩展方法,比如
ToRelativeTime()
。听起来你的第二次约会是
varchar
,所以你需要做一些工作才能将其转换为
datetime

这是一个例子。您希望进行的修改如下:

private static string ToRelativeDateTime(DateTime someDate, 
                                         DateTime rowInsertedAt)
在DataGridView中,可以将该列的值设置为扩展方法的返回或输出


您不必在DateTime上创建一个扩展方法,但也可以创建一个静态成员方法。

首先,您只需将
时间跨度从
日期时间中减去即可计算出来。现在
。使用此TimeSpan并(或本问题中的任何其他)编写一个函数,该函数使用此
TimeSpan
并返回所需的
字符串