栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用C#计算相对时间

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用C#计算相对时间

杰夫,您的代码不错,但可以使用常量使其更清晰(如代码完成中所建议)。

const int SECOND = 1;const int MINUTE = 60 * SECOND;const int HOUR = 60 * MINUTE;const int DAY = 24 * HOUR;const int MonTH = 30 * DAY;var ts = new TimeSpan(DateTime.UtcNow.Ticks - yourDate.Ticks);double delta = Math.Abs(ts.TotalSeconds);if (delta < 1 * MINUTE)  return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago";if (delta < 2 * MINUTE)  return "a minute ago";if (delta < 45 * MINUTE)  return ts.Minutes + " minutes ago";if (delta < 90 * MINUTE)  return "an hour ago";if (delta < 24 * HOUR)  return ts.Hours + " hours ago";if (delta < 48 * HOUR)  return "yesterday";if (delta < 30 * DAY)  return ts.Days + " days ago";if (delta < 12 * MONTH){  int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));  return months <= 1 ? "one month ago" : months + " months ago";}else{  int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));  return years <= 1 ? "one year ago" : years + " years ago";}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/576359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号