- 判断当前时间是否上午下午
GregorianCalendar ca = new GregorianCalendar();
Integer index = ca.get(GregorianCalendar.AM_PM);
if(index==0 ){
}else if(index==1){
}
- 对日期时间添加1小时或30分钟或10分钟
public static Date getTimeSub(String startTime, Integer minute){
if(StringUtils.isEmpty(startTime)){
return null;
}
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try{
Date firstD = sdf.parse(startTime);
firstD.setTime(firstD.getTime() - minute);
return firstD;
}catch (Exception e){
log.error("---DateUtils--getTimeSub:"+ e);
}
return null;
}
- 比较两个时间格式大小 年月日时分秒
public static boolean compareDateStr(String firstDate, String secondDate, String pattern){
boolean bool = false;
if(StringUtils.isEmpty(firstDate) || StringUtils.isEmpty(secondDate)){
return bool;
}
if(StringUtils.isEmpty(pattern)){
pattern = "yyyy-MM-dd HH:mm:ss";
}
SimpleDateFormat sdf =new SimpleDateFormat(pattern);
try{
Date firstD = sdf.parse(firstDate);
Date secondD = sdf.parse(secondDate);
bool = firstD.getTime() >= secondD.getTime();
}catch (Exception e){
log.error("---DateUtils--compareDateStr:"+ e);
bool = false;
}
return bool;
}
- 判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致
public static boolean isEffectiveDate(Date nowTime, Date startTime, Date endTime) {
if (nowTime.getTime() == startTime.getTime()
|| nowTime.getTime() == endTime.getTime()) {
return true;
}
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
Calendar begin = Calendar.getInstance();
begin.setTime(startTime);
Calendar end = Calendar.getInstance();
end.setTime(endTime);
if (date.after(begin) && date.before(end)) {
return true;
} else {
return false;
}
}
- 比较 两个时间区间有没有交集
private static boolean isOverlap(Date startDate1, Date endDate1, Date startDate2, Date endDate2) {
return startDate1.getTime() <= endDate2.getTime() && endDate1.getTime()>=startDate2.getTime();
}
- 计算两个日期之间相差多少天
public static int getDiffDate(String firstDate, String secondDate) {
int day = 0;
if(StringUtils.isEmpty(firstDate) || StringUtils.isEmpty(secondDate)){
return 0;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try{
Date firstD = sdf.parse(firstDate);
Date secondD = sdf.parse(secondDate);
day = (int) ((firstD.getTime() - secondD.getTime()) / (1000*3600*24));
}catch (Exception e){
log.error("---utils--getDiffDate:"+ e);
}
return days;
}