weaver-bjcj/src/com/engine/bjcj220907/utils/BjcjCommonUtils.java

139 lines
4.2 KiB
Java
Raw Normal View History

2022-09-26 14:52:34 +08:00
package com.engine.bjcj220907.utils;
2023-02-07 11:30:46 +08:00
import java.text.SimpleDateFormat;
2022-09-26 14:52:34 +08:00
import java.util.Calendar;
import java.util.Date;
/**
* @author Harryxzy
* @date 2022/09/26 13:55
* @description
*/
public class BjcjCommonUtils {
/***
* @description 获取当前calendar
* @return Calendar
* @author Harryxzy
* @date 2022/9/26 14:44
*/
public static Calendar getNowCalendar(){
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal;
}
/***
* @description 根据考勤所属月获取考勤开始日期
* @return Calendar
* @author Harryxzy
* @date 2022/9/14 21:57
*/
public static Calendar getStartAttendanceCal(Date bonusMonth){
Calendar startAttendanceCal = Calendar.getInstance();
startAttendanceCal.setTime(bonusMonth);
startAttendanceCal.add(Calendar.MONTH,-1);
if(startAttendanceCal.getActualMaximum(Calendar.DAY_OF_MONTH) == 28){
// 2月只有28天的情况从3.1开始)
startAttendanceCal.add(Calendar.MONTH, 1);
startAttendanceCal.set(Calendar.DAY_OF_MONTH, 1);
startAttendanceCal.set(Calendar.HOUR_OF_DAY, 0);
startAttendanceCal.set(Calendar.MINUTE, 0);
startAttendanceCal.set(Calendar.SECOND, 0);
startAttendanceCal.set(Calendar.MILLISECOND, 0);
}else{
startAttendanceCal.set(Calendar.DAY_OF_MONTH, 29);
startAttendanceCal.set(Calendar.HOUR_OF_DAY, 0);
startAttendanceCal.set(Calendar.MINUTE, 0);
startAttendanceCal.set(Calendar.SECOND, 0);
startAttendanceCal.set(Calendar.MILLISECOND, 0);
}
return startAttendanceCal;
}
/***
* @description 根据考勤所属月获取考勤结束日期
* @return Calendar
* @author Harryxzy
* @date 2022/9/14 21:57
*/
public static Calendar getEndAttendanceCal(Date bonusMonth){
Calendar endAttendanceCal = Calendar.getInstance();
endAttendanceCal.setTime(bonusMonth);
endAttendanceCal.set(Calendar.DAY_OF_MONTH,28);
endAttendanceCal.set(Calendar.HOUR_OF_DAY, 23);
endAttendanceCal.set(Calendar.MINUTE, 59);
endAttendanceCal.set(Calendar.SECOND, 59);
endAttendanceCal.set(Calendar.MILLISECOND, 999);
return endAttendanceCal;
}
/**
* @description 获取2个时间段中有多少天
* @return Long
* @author Harryxzy
* @date 2022/9/11 20:12
*/
public static int getDays(Date startDate,Date endDate) {
int days = (int)( (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24) + 1);
return days;
}
/**
* @description 判断某一天是否在某一个时间区间内
* @return Long
* @author Harryxzy
* @date 2022/9/11 20:12
*/
public static boolean isBetween(Date now,Date startDate,Date endDate) {
if( (now.after(startDate) || now.equals(startDate)) && ( (now.before(endDate) || now.equals(endDate)) )){
return true;
}
return false;
}
2023-02-07 11:30:46 +08:00
public static boolean isBeforeMonth(Date a,Date b){
try {
if(a == null || b == null){
return false;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
Date formatA = sdf.parse(sdf2.format(a));
Date formatB = sdf.parse(sdf2.format(b));
if( formatA.before(formatB) ){
return true;
}
return false;
}catch (Exception e){
}
return false;
}
public static boolean isEqualsMonth(Date a,Date b){
try {
if(a == null || b == null){
return false;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
Date formatA = sdf.parse(sdf2.format(a));
Date formatB = sdf.parse(sdf2.format(b));
if( formatA.equals(formatB) ){
return true;
}
return false;
}catch (Exception e){
}
return false;
}
2022-09-26 14:52:34 +08:00
}