簡體   English   中英

計算從日期vb.net開始的經過時間?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM