Asp.Net 利用TimeSpan类实现时间差计算 并返回所需字符串(类似于SNS)
2012-02-28 11:13
453 查看
今天做了一个类似于发微博的小Demo,其中有需要绑定时间的地方,我想实现跟腾讯微博上显示时间的方式差不多,于是到网上搜了一下TimeSpan类,然后我自己把算法写了一下与大家共享啊,没什么技术含量,只是分享,高手直接路过。直接贴代码吧!
很简单,我也不解释了...
PS:Tandy Tang祝大家写代码写的愉快!
/// <summary> /// 求当前与发表时间的差值 /// </summary> /// <param name="dt1">当前时间</param> /// <param name="dt2">需要比较的时间</param> /// <returns></returns> public string TimeChaZhi(DateTime dt1, DateTime dt2) { TimeSpan sj1 = new TimeSpan(dt1.Ticks); TimeSpan sj2 = new TimeSpan(dt2.Ticks); TimeSpan sj = sj1.Subtract(sj2).Duration(); int day = sj1.Days - sj2.Days; if (day > 3) { return Convert.ToDateTime(dt2).ToString("M月d日 HH:mm"); } else if (day != 0) { if (day == 1) { return "昨天" + " " + Convert.ToDateTime(dt2).ToString("HH:mm"); } else if (day == 2) { return "前天" + " " + Convert.ToDateTime(dt2).ToString("HH:mm"); } else { return day.ToString() + "天前"; } } else if (sj.Hours != 0) { //24小时之间 if (Convert.ToInt32(dt1.Day) == Convert.ToInt32(dt2.Day)) { return "今天" + " " + Convert.ToDateTime(dt2).ToString("HH:mm"); } else { return "昨天" + " " + Convert.ToDateTime(dt2).ToString("HH:mm"); } } else if (sj.Minutes != 0) { return sj.Minutes.ToString() + "分钟前"; } else if (sj.Seconds < 20) { return "刚刚"; } else { return sj.Seconds.ToString() + "秒前"; } }
很简单,我也不解释了...
PS:Tandy Tang祝大家写代码写的愉快!
相关文章推荐
- Asp.Net 利用TimeSpan类实现时间差计算 并返回所需字符串(类似于SNS)
- ASP.NET中利用Split实现对Checkbox的字符串分离放到DataTable里面
- asp.net下利用js实现返回上一页的实现方法小集
- asp.net利用存储过程和div+css实现分页(类似于博客园首页分页)
- asp.net下利用js实现返回上一页的实现方法小集
- asp.net利用存储过程和div+css实现分页(类似于博客园首页分页)
- Asp.net利用Request属性实现自动返回上次请求页面
- Asp.net利用Request属性实现自动返回上次请求页面
- ASP.NET中利用Split实现对Checkbox的字符串分离放到DataTable里面
- 在ASP.NET中如何实现和利用URL重写
- ASP.Net中利用CSS实现多界面的方法
- asp.net字符串的数学表达式计算结果
- 在ASP.Net中两种利用CSS实现多界面的方法. (转)
- 利用.net的内部机制在asp.net中实现身份验证
- 最优化实现ASP.NET页面的返回和刷新机制
- 在Asp.Net MVC中实现计算页面执行时间及简单流量统计
- asp.net中利用Jquery+Ajax+Json实现无刷新分页
- asp.net利用反射实现给model类赋值的方法
- [转载] asp.net 返回上一页的实现方法小集