[英]Calculate the elapsed time from a date vb.net?
我需要從日期中獲取經過的時間,例如:
我有這條線
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
和,
Sun, 11 Ago 2015 11:18:13 +0100
結果:
1 year ago
我怎么能得到這個? 感謝幫助
如果兩者的類型相同,則可以從結束日期時間直接減去起始日期時間。
var difference = endDateTime - startDateTime;
一旦你得到你的差異,那么只需格式化輸出字符串。
請參閱此
你可以使用Humanizer :
// For DateTime
DateTime.UtcNow.AddHours(-30).Humanize() // returns "yesterday"
DateTime.UtcNow.AddHours(-2).Humanize() // returns "2 hours ago"
// For TimeSpan
TimeSpan.FromDays(1).Humanize(precision:2) // "1 day"
TimeSpan.FromDays(16).Humanize(2) // "2 weeks, 2 days"
您可以在github上找到更多樣本
您可以使用DateDiff函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.