返回文章发表的时间差

it2022-05-25  74

例如:现在是2012-12-04 11:29:59,发表时间是:2012-12-02 21:29:59,传统的ts.Days因为值为1天14小时0分0秒,会返回“昨天”,而这个会返回“前天”

1 public static string DateDiff(DateTime DateTime1, DateTime DateTime2) 2 { 3 string dateDiff = null; 4 int date = 0; 5 try 6 { 7 int year = Convert.ToInt32(DateTime2.ToString("yyyy")) - Convert.ToInt32(DateTime1.ToString("yyyy")); 8 TimeSpan ts = DateTime2 - DateTime1; 9 string t1 = DateTime1.ToString("yyyy-MM-dd"); 10 string t2 = DateTime2.ToString("yyyy-MM-dd"); 11 DateTime d1 = DateTime.Parse(t1); 12 DateTime d2 = DateTime.Parse(t2); 13 TimeSpan ts2 = d2 - d1; 14 date = ts2.Days; 15 if (date == 0) 16 { 17 if (ts.Hours > 1) 18 { 19 dateDiff = ts.Hours.ToString() + "小时前"; 20 } 21 else 22 { 23 if (ts.Minutes > 1) 24 { 25 dateDiff = ts.Minutes.ToString() + "分钟前"; 26 } 27 else 28 { 29 dateDiff = ts.Seconds.ToString() + "秒前"; 30 } 31 } 32 } 33 else 34 { 35 if (date == 1) 36 { 37 dateDiff = "昨天"; 38 } 39 else 40 { 41 if (date == 2) 42 { 43 dateDiff = "前天"; 44 } 45 else 46 { 47 if (year == 0) 48 { 49 dateDiff = DateTime1.Month.ToString() + "" + DateTime1.Day.ToString() + ""; 50 } 51 else 52 { 53 dateDiff = DateTime1.Year.ToString() + "" + DateTime1.Month.ToString() + "" + DateTime1.Day.ToString() + ""; 54 } 55 } 56 } 57 } 58 } 59 catch 60 { } 61 return dateDiff; 62 }

 

转载于:https://www.cnblogs.com/crazyvincent/archive/2012/12/04/2801068.html


最新回复(0)