You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.9 KiB
94 lines
2.9 KiB
package util;
|
|
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
/**
|
|
* 日期处理类
|
|
*/
|
|
public class Timer {
|
|
|
|
/**
|
|
* 获取某日期的上个月开始日期
|
|
* @param currentDate
|
|
* @param format
|
|
* @return
|
|
*/
|
|
public static Date getPrevMonthStartDate(String currentDate , String format){
|
|
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
Calendar c = Calendar.getInstance();
|
|
try {
|
|
c.setTime(sdf.parse(currentDate));
|
|
c.add(Calendar.MONTH, -1);
|
|
//设置为1号,当前日期既为本月第一天
|
|
c.set(Calendar.DAY_OF_MONTH, 1);
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return c.getTime();
|
|
}
|
|
/**
|
|
* 获取某日期的上个月结束日期
|
|
* @param date
|
|
* @param format
|
|
* @return
|
|
*/
|
|
public static Date getPrevMonthEndDate(String date , String format){
|
|
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
Calendar c = Calendar.getInstance();
|
|
try {
|
|
c.setTime(sdf.parse(date));
|
|
c.add(Calendar.MONTH , -1);
|
|
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
|
|
c.set(Calendar.HOUR_OF_DAY, 23);
|
|
c.set(Calendar.MINUTE, 59);
|
|
c.set(Calendar.SECOND, 59);
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return c.getTime();
|
|
}
|
|
/**
|
|
* 获取某日期的 当前月开始日期
|
|
* @param currentDate
|
|
* @param format
|
|
* @return
|
|
*/
|
|
public static Date getMonthStartDate(String currentDate , String format){
|
|
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
Calendar c = Calendar.getInstance();
|
|
try {
|
|
c.setTime(sdf.parse(currentDate));
|
|
c.add(Calendar.MONTH, 0);
|
|
//设置为1号,当前日期既为本月第一天
|
|
c.set(Calendar.DAY_OF_MONTH, 1);
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return c.getTime();
|
|
}
|
|
|
|
/**
|
|
* 获取某日期的 当前月结束日期
|
|
* @param date
|
|
* @param format
|
|
* @return
|
|
*/
|
|
public static Date getMonthEndDate(String date , String format)
|
|
{
|
|
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
Calendar c = Calendar.getInstance();
|
|
try {
|
|
c.setTime(sdf.parse(date));
|
|
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
|
|
c.set(Calendar.HOUR_OF_DAY, 23);
|
|
c.set(Calendar.MINUTE, 59);
|
|
c.set(Calendar.SECOND, 59);
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return c.getTime();
|
|
}
|
|
}
|