用C#计算相对时间

用C#计算相对时间,第1张

用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";}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5567584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存