Calendar 显示是否是 今天 本周 本月 本年 (应用于微信 QQ 显示历史聊天列表 时间显示)
2014-06-30 14:17
465 查看
/** * 是否是昨天 * * @param time * @return */ public static boolean isYesterday(long time) { Calendar cal = Calendar.getInstance(); int d = cal.get(Calendar.DAY_OF_MONTH); int dy = cal.get(Calendar.YEAR); cal.setTimeInMillis(time); int i = cal.get(Calendar.DAY_OF_MONTH); int iy = cal.get(Calendar.YEAR); if (d == 1) { cal.set(Calendar.DAY_OF_MONTH, 0); d = cal.get(Calendar.DAY_OF_MONTH); return d == i && dy == iy; } return d - 1 == i && dy == iy; } /** * 得到本周周一 * */ public static long getMondayOfThisWeek() { Calendar c = Calendar.getInstance(); int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1; if (day_of_week == 0) day_of_week = 7; c.add(Calendar.DATE, -day_of_week + 1); return c.getTimeInMillis(); } /** * 得到本周周日 * */ public static long getSundayOfThisWeek() { Calendar c = Calendar.getInstance(); int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1; if (day_of_week == 0) day_of_week = 7; c.add(Calendar.DATE, -day_of_week + 7); return c.getTimeInMillis(); } /** * 是否是这个星期 * * @param time * @return */ public static boolean isWeek(long time) { long startWeek = getMondayOfThisWeek(); // 本周一 long endWeek = getSundayOfThisWeek(); return time >= startWeek && time <= endWeek; } /** * 显示星期格式 * * @param time * @return */ public static String showWeekString(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); if (Calendar.MONDAY == calendar.get(Calendar.DAY_OF_WEEK)) { return "星期一"; } if (Calendar.TUESDAY == calendar.get(Calendar.DAY_OF_WEEK)) { return "星期二"; } if (Calendar.WEDNESDAY == calendar.get(Calendar.DAY_OF_WEEK)) { return "星期三"; } if (Calendar.THURSDAY == calendar.get(Calendar.DAY_OF_WEEK)) { return "星期四"; } if (Calendar.FRIDAY == calendar.get(Calendar.DAY_OF_WEEK)) { return "星期五"; } if (Calendar.SATURDAY == calendar.get(Calendar.DAY_OF_WEEK)) { return "星期六"; } if (Calendar.SUNDAY == calendar.get(Calendar.DAY_OF_WEEK)) { return "星期日"; } return "星期一"; } /** * 是否是今年 * * @param time * @return */ public static boolean isYear(long time) { Calendar cal = Calendar.getInstance(); int dy = cal.get(Calendar.YEAR); cal.setTimeInMillis(time); int iy = cal.get(Calendar.YEAR); return dy == iy; } /** * 今天 昨天 本周 本年 更久 显示格式 * * @param time * @return */ public static String CastsendTime(long time) { // 今天 if (isCurrentDay(time)) { return long2String(time, FORMAT_DATE_HHMM); }// 昨天 else if (isYesterday(time)) { return FORMAT_DATE_YESTERDAY; }// 这个星期 else if (isWeek(time)) { return showWeekString(time); } else if (isYear(time)) { return long2String(time, FORMAT_DATE_MMDD); } else { return long2String(time, FORMAT_DATE_YYMMDD); } }
相关文章推荐
- Java写的获取日期工具类(今天、昨天、本周、上周、本月、上月、本年及特定时间的开始时间和结束时间)
- (新闻列表)根据时间判断图片是否显示
- C# 根据当前时间获取本周、本月、本季度、本年的始末日期
- QQ/微信 聊天表情显示原理
- android 聊天列表页面的时间显示问题--1(星期显示,暂无分块)
- Android 仿微信聊天时间格式化显示功能
- c#中的DateTime(显示出各种事件,本周,本月,本年,本周第一天...)
- Java获取当天、本周、本月、本季度、本年等 开始及结束时间
- scala时间处理-获取今天日期,昨天日期,本周时间,本月时间,时间戳转换日期,时间比较
- C#获取本周、上周、本月、上月、本季度、上季度、本年、上一年起始时间和结束时间
- QQ聊天记录显示时间与实际时间不一样
- java 获取本年 本月 本周开始时间(在网上搜的周日被定义为一周的开始,修改后周日为一周的结束)
- Windows没有北京时间(GMT+8时区)的问题,及QQ聊天栏中显示的时间错误的问题解决办法
- PHP 获取本年、本周、本月、本日的开始和结束时间
- 根据weekNo(本周为0,上周为-1,下周为1),week(Calendar.XXX)获取日期,以及根据weekNo和week判断今天是否是该日期
- c# 获取 本周、本月、本季度、本年 的开始时间或结束时间
- php 获取时间(今天,昨天,三天内,本周,上周,本月,三年内,半年内,一年内,三年内)
- ThinkPHP按今天,本周,本月,本季度,本年,全部查询
- Oracle 获取本周、本月、本季度、本年等时间段
- mysql查询今天、昨天、本周、本月、上一月 、今年、某年、当年12月每月时间、当年每月每周时间