[C#] 剛剛、分鐘前、小時前、天前、周前、個月前、年前、分鐘後、小時後、天後、周後、年後 的時間轉換
2018-05-03
最近在寫一些東西,但是常常設計那邊要出現的時間,不是 yyyy-MM-dd HH:mm 而是要 剛剛、分鐘前、小時前、天前、周前、個月前、年前、分鐘後、小時後、天後、周後、年後 這類的東西,所以就順手寫一個
C# Code:
private string GetTimeString(DateTime dateTime) { var now = DateTime.Now; if (dateTime == now) { return "現在"; }; var t1 = now; var t2 = now; var tmp = ""; if (dateTime > now) { t2 = dateTime; tmp = "後"; } else { t1 = dateTime; tmp = "前"; } var ts = t2 - t1; if (ts.TotalDays >= 365) { return Math.Floor(ts.TotalDays/365) + "年" + tmp; } if ( (ts.TotalDays /31) >1) { return Math.Floor(ts.TotalDays / 31) + "個月" + tmp; } if (ts.TotalDays>=1) { return Math.Floor(ts.TotalDays) + "天" + tmp; } if (ts.TotalHours >= 1) { return Math.Floor(ts.TotalHours) + "小時" + tmp; } if (ts.TotalMinutes >= 1) { return Math.Floor(ts.TotalMinutes) + "分鐘" + tmp; } if (ts.Seconds >= 1) { return Math.Floor(ts.TotalSeconds) + "秒" + tmp; } return "剛剛"; }
需要的就自行取用吧,不贅述了...
後記,現在是 2023 我問了 ChatGPT ,他給了其他解法
code:
強大阿