日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

Q1:如何用 C# 计算相对时间 ?

發布時間:2023/12/20 C# 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Q1:如何用 C# 计算相对时间 ? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問:

給定一個 DataTime 值,如何計算如下時間?比如說:

  • 2 小時前?
  • 3 天前?
  • 1 個月前?

答:

  • 我在 DateTime 類上做了一個擴展方法,你可以給它傳遞未來或者過去的時間,還可以給他傳一個 approximation 選項來指定更精細的信息描述,參考如下代碼:
  • using System.Text;/// <summary> /// Compares a supplied date to the current date and generates a friendly English /// comparison ("5 days ago", "5 days from now") /// </summary> /// <param name="date">The date to convert</param> /// <param name="approximate">When off, calculate timespan down to the second. /// When on, approximate to the largest round unit of time.</param> /// <returns></returns> public static string ToRelativeDateString(this DateTime value, bool approximate) {StringBuilder sb = new StringBuilder();string suffix = (value > DateTime.Now) ? " from now" : " ago";TimeSpan timeSpan = new TimeSpan(Math.Abs(DateTime.Now.Subtract(value).Ticks));if (timeSpan.Days > 0){sb.AppendFormat("{0} {1}", timeSpan.Days,(timeSpan.Days > 1) ? "days" : "day");if (approximate) return sb.ToString() + suffix;}if (timeSpan.Hours > 0){sb.AppendFormat("{0}{1} {2}", (sb.Length > 0) ? ", " : string.Empty,timeSpan.Hours, (timeSpan.Hours > 1) ? "hours" : "hour");if (approximate) return sb.ToString() + suffix;}if (timeSpan.Minutes > 0){sb.AppendFormat("{0}{1} {2}", (sb.Length > 0) ? ", " : string.Empty, timeSpan.Minutes, (timeSpan.Minutes > 1) ? "minutes" : "minute");if (approximate) return sb.ToString() + suffix;}if (timeSpan.Seconds > 0){sb.AppendFormat("{0}{1} {2}", (sb.Length > 0) ? ", " : string.Empty, timeSpan.Seconds, (timeSpan.Seconds > 1) ? "seconds" : "second");if (approximate) return sb.ToString() + suffix;}if (sb.Length == 0) return "right now";sb.Append(suffix);return sb.ToString(); }
  • github 上有一個非常流行的 DateTime 幫助類,可以非常精細化的滿足你的要求,參見網址:https://github.com/FluentDateTime/FluentDateTime , 比如下面這些例子:
  • var dateTime1 = 2.Hours().Ago(); var dateTime2 = 3.Days().Ago(); var dateTime3 = 1.Months().Ago(); var dateTime4 = 5.Hours().FromNow(); var dateTime5 = 2.Weeks().FromNow(); var dateTime6 = 40.Seconds().FromNow();
  • 純手工封裝,用 SortedList 預先做一個映射,應該還是能夠滿足你的需求,參考如下代碼。
  • static readonly SortedList<double, Func<TimeSpan, string>> offsets = new SortedList<double, Func<TimeSpan, string>> {{ 0.75, _ => "less than a minute"},{ 1.5, _ => "about a minute"},{ 45, x => $"{x.TotalMinutes:F0} minutes"},{ 90, x => "about an hour"},{ 1440, x => $"about {x.TotalHours:F0} hours"},{ 2880, x => "a day"},{ 43200, x => $"{x.TotalDays:F0} days"},{ 86400, x => "about a month"},{ 525600, x => $"{x.TotalDays / 30:F0} months"},{ 1051200, x => "about a year"},{ double.MaxValue, x => $"{x.TotalDays / 365:F0} years"} };public static string ToRelativeDate(this DateTime input) {TimeSpan x = DateTime.Now - input;string Suffix = x.TotalMinutes > 0 ? " ago" : " from now";x = new TimeSpan(Math.Abs(x.Ticks));return offsets.First(n => x.TotalMinutes < n.Key).Value(x) + Suffix; }

    總結

    以上是生活随笔為你收集整理的Q1:如何用 C# 计算相对时间 ?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 淫语视频 | 欧美成人片在线观看 | 日本三级黄色大片 | 午夜影院美女 | 欧美高清视频一区 | 亚洲国产大片 | 最好看的2018中文2019 | 精品中文在线 | 欧美高清hd| 91网站在线看 | 日日夜夜伊人 | 中文字幕a级片 | 成人高清网站 | 国产乱码精品一区二区三区不卡 | 欧美精品成人一区二区在线观看 | 天堂网视频在线 | 成人在线免费小视频 | 麻豆视频入口 | 国产成人无遮挡在线视频 | 九九热国产精品视频 | 妺妺窝人体色WWW精品 | 黄色网址国产 | 欧美乱人伦 | 国产精品va | 夜夜嗨老熟女av一区二区三区 | 九色视频丨porny丨丝袜 | 91男女视频 | 黄色录像a级片 | 国产日韩欧美综合在线 | 成人精品三级 | 免费网站污 | a亚洲天堂 | 国产成人精品毛片 | 亚洲国产日韩在线观看 | 老女人做爰全过程免费的视频 | 先锋影音av中文字幕 | 午夜天堂视频 | 手机成人免费视频 | 亚洲操操操| 黄频网站在线观看 | 黄色片网站免费 | 婷婷在线视频观看 | av一本在线 | 白浆在线 | 日本黄色性视频 | 双性皇帝高h喷汁呻吟 | 围产精品久久久久久久 | 国产精品一区二区三区久久 | 波多野结衣欲乱上班族 | 欧美综合另类 | 亚洲成人精品一区二区三区 | 久久超| 国产黄色片子 | 久久爱影视i| 天天想你在线观看完整版电影免费 | 中文字幕在线字幕中文 | 黄网地址 | 91精品婷婷国产综合久久竹菊 | 毛片天堂 | 久操福利在线 | 日韩欧美福利视频 | 日韩午夜免费视频 | 中文字幕在线观看91 | 国模私拍在线观看 | 小sao货水好多真紧h无码视频 | 5级黄色片 | 梦梦电影免费高清在线观看 | 欧美亚洲成人网 | av成人毛片 | www.97av.com| 欧美一级免费视频 | 亚洲高清视频一区二区 | 黄色片网站国产 | 95视频在线 | 韩日精品在线 | 日韩城人视频 | 初尝人妻少妇中文字幕 | 成人毛片视频在线观看 | 午夜精品一区二 | 播放一级黄色片 | 韩国成人免费视频 | 国产精品九九视频 | 欧美精品一二区 | 男人的天堂a在线 | 人人插人人干 | 韩国三级hd中文字幕的背景音乐 | 中文字幕高清一区 | 日日骚av| 日本成人网址 | 久久无码视频网站 | 天天爽影院| 韩国黄色片网站 | 日本毛片在线看 | 亚洲精品午夜国产va久久成人 | 亚洲色图欧美激情 | 欧美精品久久久久久久久老牛影院 | 亚洲av中文无码乱人伦在线视色 | 美女四肢被绑在床扒衣 | av88av|