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