日期格式化(类似QQ邮箱中的邮件列表显示日期)
public static string FormatDateDisplay(DateTime _datetime) { var ts = DateTime.Now - _datetime; if (ts.TotalSeconds < 60) { return Math.Floor(ts.TotalSeconds).ToString() + "秒前"; } else if (ts.TotalMinutes < 60) { return Math.Floor(ts.TotalMinutes).ToString() + "分钟前"; } else if (ts.TotalHours < 5) { return Math.Floor(ts.TotalHours).ToString() + "小时前"; } //今天 if (DateTime.Now.ToString("yyyyMMdd") == _datetime.ToString("yyyyMMdd")) { return "今天 " + _datetime.ToString("HH:mm"); } //昨天 if (DateTime.Now.AddDays(-1).ToString("yyyyMMdd") == _datetime.ToString("yyyyMMdd")) { return "昨天 " + _datetime.ToString("HH:mm"); } //如果年份与当前年份相等 if (DateTime.Now.Year == _datetime.Year) { return _datetime.ToString("MM月dd日"); } return _datetime.ToString("yyyy/MM/dd"); }