C# 计算从vb.net日期开始经过的时间?

C# 计算从vb.net日期开始经过的时间?,c#,asp.net,vb.net,datetime,elapsedtime,C#,Asp.net,Vb.net,Datetime,Elapsedtime,我需要从日期获取经过的时间,例如: Sun, 11 Sep 2016 11:18:13 +0100 我有这条线 Mon, 12 Sep 2016 10:20:00 +0100 如果现在的日期时间为: 12/09/2016 10:40:02 我需要得到这个作为最终结果: 20 mins ago 同一问题的另一个更好解释的例子是: 如果我有这个日期: Sun, 11 Sep 2016 09:18:13 +0100 最终结果应该是: 1 day ago 但如果时间没有变为24小时,则会将

我需要从日期获取经过的时间,例如:

Sun, 11 Sep 2016 11:18:13 +0100
我有这条线

 Mon, 12 Sep 2016 10:20:00 +0100
如果现在的日期时间为:

12/09/2016 10:40:02
我需要得到这个作为最终结果:

20 mins ago
同一问题的另一个更好解释的例子是: 如果我有这个日期:

Sun, 11 Sep 2016 09:18:13 +0100
最终结果应该是:

1 day ago
但如果时间没有变为24小时,则会将自该日期起的小时数计算在内,例如:

Sun, 11 Sep 2016 11:18:13 +0100
结果将是:

23 hours ago
如果经过的日期是一个月或几年, 例如: 在此日期:

Sun, 11 Ago 2016 11:18:13 +0100
结果:

1 month ago
1 year ago
以及

结果:

1 month ago
1 year ago

我怎么能得到这个?感谢您的帮助

您可以使用该功能。

如果两种类型相同,您可以直接从结束日期时间中减去开始日期时间

var difference = endDateTime - startDateTime;
一旦你得到你的差异,那么它只是格式化你的输出字符串的问题

请参阅,您可以使用:


您可以在

上找到更多样本,我必须补充一点,我可以使用以下日期:2016年6月20日星期一12:29:09+0100(+0100)或其他日期,例如:2016年6月20日星期一15:40:23+0200(+0200)为什么不使用
TimeSapn
?会有帮助:)不错的扩展。