【工作笔记】工具类方法--时间相关
2017-10-17 17:41
471 查看
/** * 昨天开始时间 * 2017年10月17日 下午5:40:28 * @return */ public static Date yesterdayStart() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, -1); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); return cal.getTime(); } /** * 昨天结束时间 * 2017年10月17日 下午5:40:44 * @return */ public static Date yesterdayEnd() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, -1); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); return cal.getTime(); } /** * 某日开始时间 * 2017年10月17日 下午5:40:53 * @param day * @return */ public static String getDateStart(Integer day) { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, -1*day); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(cal.getTime()); } /** * 某日结束时间 * 2017年10月17日 下午5:41:19 * @param day * @return */ public static String getDateEnd(Integer day) { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, -1*day); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(cal.getTime()); } /** * 获取传入时间的周一 * * @param date 当前时间 * @return 返回传入时间当周星期一 */ public static Date getNowWeekMonday(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, -1); //解决周日会出现 并到下一周的情况 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); return cal.getTime(); } /** * 获取传入时间的上周一 * * @param date 当前时间 * @return 返回上周一时间 */ public static Date getLastWeekMonday(Date date) { Date a = DateUtils.addDays(date, -1); Calendar cal = Calendar.getInstance(); cal.setTime(a); cal.add(Calendar.WEEK_OF_YEAR, -1);// 一周 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); return cal.getTime(); } /** * 查询上周周日 * @param date 当前时间 * @return 返回上周周日 */ public static Date getLastWeekSunday(Date date) { Date a = DateUtils.addDays(date, -1); Calendar cal = Calendar.getInstance(); cal.setTime(a); cal.set(Calendar.DAY_OF_WEEK, 1); return cal.getTime(); } /** * 上个月第一天 * 2017年10月9日 下午4:48:22 * @param date * @return */ public static Date lastMonthFirst(Date date){ Calendar calendar = Calendar.getInstance(); int month = calendar.get(Calendar.MONTH); //当月时间的上个月份 calendar.set(Calendar.MONTH, month-1); //上个月份第一天 calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); return calendar.getTime(); } /** * 上个月最后一天 * 2017年10月9日 下午4:48:32 * @param date * @return */ public static Date lastMonthLast(Date date){ Calendar calendar = Calendar.getInstance(); int month = calendar.get(Calendar.MONTH); //当月时间的上个月份 calendar.set(Calendar.MONTH, month-1); //上个月份第一天 calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); return calendar.getTime(); }
org.apache.commons.lang3.time.DateUtils日期工具类
String startTime = ""; String endTime = ""; Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 昨天 Date yesterday = DateUtils.addDays(now, -1); startTime = sdf.format(yesterday) + " 00:00:00"; endTime = sdf.format(yesterday) + " 23:59:59"; // 本月一号 Date firstDate = DateUtils.setDays(now, 1); startTime = sdf.format(firstDate) + " 00:00:00"; endTime = sdf.format(now) + " 23:59:59";
相关文章推荐
- 时间日期工具类 封装工作中常用的一些时间日期计算方法(转+自己修改)
- 工作总结 for 另类写法 循环加时间 集合合并 也是用的 static class Enumerable (IEnumerable<T>的扩展方法) (IEnumerable<T> 的 工具类) (所有集合 数组都实现IEnumerable<T>)
- 【工作笔记】js常用方法--格式化时间、格式化金额
- iOS 提供类似安卓吐司,以及时间相关的方法等工具类
- NodeJS学习系列课程笔记(NodeJS util工具类相关使用方法)
- web前台工作笔记(时间戳、js中clone的使用、js中动态填充数据注意事项、前台查错方法的学习)
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)
- 2015.01.16工作笔记 环信方法整理
- 【学习笔记】〖MFC〗MFC中月历控件CMonthCalCtrl获取时间的方法
- 工作学习笔记1:大小端测试方法
- OpenJDK源码研究笔记(四)-编写和组织可复用的工具类和方法
- 时间相关的简单工具类
- 【工作笔记四】去掉a标签超链接的虚线框的方法
- zepto源码--核心方法2(class相关)--学习笔记
- System.nanoTime (计时工具类),用于计算时间差,精确度和系统相关。
- 学习笔记(二) 根据发帖时间,删除相关帖子
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)
- 日期时间处理相关工具类
- 中国证券投资基金从业考试 笔记(时间相关)
- odoo开发笔记-日期时间相关操作