获取类似QQ似的时间,昨天或具体日期
2017-05-25 15:06
295 查看
最近在做一个聊天功能,并且要在用户列表上显示最后聊天时间,类似QQ的日期显示。 问群里和百度后,群里没人鸟我,网上也没搜到,最后苦于无奈只能自己封装了。 不过话说回来了,大哥与小弟的区别就是大哥写好封装类让小弟去用。和编译器差不多原理,微软为我们封装了一个又一个类库,然后我们点点就出来了。但这样不能锻炼我们,所以提倡大家多做封装。好了,废话少说,直接上代码,如有不正确的地方欢迎指出!~嘿嘿
ChateTimeHelper.cs
调用上面的类就会获得类似下面的这种结果:
ChateTimeHelper.cs
/// <summary> /// 聊天日期展示帮助类 /// </summary> public class ChateTimeHelper { /// <summary> ///不是本年------则返回具体年-月-日 ///是本年,不是今天和昨天------就显示 月-日 ///昨天----则显示昨天 ///今天----则显示 时-分 /// </summary> /// <param name="ct">聊天时间</param> /// <returns></returns> public static string GetChateTimeInfo(DateTime ct) { DateTime dtNow = DateTime.Now; int year=dtNow.Year; int month=dtNow.Month; int day=dtNow.Day; TimeSpan ts = dtNow - ct; if (ct.AddDays(1).Year == year && ct.AddDays(1).Month == month && ct.AddDays(1).Day == day)//加一天如果和现在年月日相同,证明是昨天 { return "昨天"; } else if (ct.Year==year&&ct.Month==month&&ct.Day==day)//年月日相等则证明是今天发的消息 { string hour = ct.Hour < 10 ? "0" + ct.Hour.ToString() : ct.Hour.ToString(); string minute = ct.Minute < 10 ? "0" + ct.Minute.ToString() : ct.Minute.ToString(); return hour + ":" + minute; } else if (ct.Year == year) { return ct.Month + "-" + ct.Day; } else //其余的显示月日 { return ct.Year + "-" + ct.Month + "-" + ct.Day; } } }
调用上面的类就会获得类似下面的这种结果:
相关文章推荐
- 获取类似QQ似的时间,昨天或具体日期
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
- js获取当前日期时间,昨天、本月第一天和最后一天
- sql得到当前系统时间得日期部分 获取具体日期 时间
- 批处理获取昨天的系统时间(当前日期前一天)
- Java Calendar 类的时间操作+获取昨天日期
- Android 字符串转指定格式时间 日期处理 去掉月份或天多余的0 获取今天 昨天 明天等的日期和星期
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
- 根据输入时间日期返回时间、昨天、本周几、具体日期 类似于微信朋友圈时间 (oracle)
- 输入日期,计算出与当前系统日期相隔多少天(获取系统时间,年月日分别获取,对其进行格式化simpledateformat;输入的日期类似操作)
- scala时间处理-获取今天日期,昨天日期,本周时间,本月时间,时间戳转换日期,时间比较
- JS时间获取昨天明天的日期
- JAVA----日期获取LocalDate(时间如此类似)
- java获取各种格式的时间,获取昨天明天日期,获取一天的开始结束时间
- Java写的获取日期工具类(今天、昨天、本周、上周、本月、上月、本年及特定时间的开始时间和结束时间)
- java获取各种格式的时间,获取昨天明天日期,获取一天的开始结束时间
- 根据输入时间日期返回时间、昨天、本周几、具体日期 类似于微信朋友圈时间 (msserver 标量值函数 )
- 论坛源码推荐(3月25日):类似QQ客户端进度加载效果 简化Objective-C中的日期和时间处理
- linux中获取昨天、今天、明天的日期(时间)
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间