您的位置:首页 > 其它

【工作笔记】工具类方法--时间相关

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";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  常用方法
相关文章推荐