如下:
public class DateUtil {
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
/**
* 格式化日期为指定的日期格式
* @param date 时间参数
* @return 时间毫秒数
*/
public static String parseData(Date date){
return sdf.format(date);
}
/**
* 格式化当前日期为指定的日期格式
* @return 时间毫秒数
*/
public static String parseNowData(){
return parseData(new Date());
}
/**
* 获取本月的日期第一天
* @return date
*/
public static Date getFirstDayOfMonth(){
return getFirstDayOfMonth(new Date());
}
/**
* 获取某个时间所在月的日期第一天
* @param date 日期
* @return 时间毫秒数
*/
public static Date getFirstDayOfMonth(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
return calendar.getTime();
}
/**
* 获取本月日期的最后一天
* @return 时间毫秒数
*/
public static Date getLastDayOfMonth(){
return getLastDayOfMonth(new Date());
}
/**
* 获取某个时间所在月的日期第一天
* @param date 日期
* @return 时间毫秒数
*/
public static Date getLastDayOfMonth(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return calendar.getTime();
}
/**
* 获取当前季度的第一天
* @return 时间毫秒数
*/
public static Date getFirstDayOfQuarter(){
return getFirstDayOfQuarter(new Date());
}
/**
* 获取时间所在季度的第一天
* @param date 日期
* @return 时间毫秒数
*/
public static Date getFirstDayOfQuarter(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int remainder = calendar.get(Calendar.MONTH) % 3;
int month = remainder != 0 ? calendar.get(Calendar.MONTH) - remainder: calendar.get(Calendar.MONTH);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
return calendar.getTime();
}
/**
* 获取当前季度的最后一天
* @return 时间毫秒数
*/
public static Date getLastDayOfQuarter(){
return getLastDayOfQuarter(new Date());
}
/**
* 获取时间所在季度的最后一天
* @param date 日期
* @return 时间毫秒数
*/
public static Date getLastDayOfQuarter(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int remainder = (calendar.get(Calendar.MONTH) + 1) % 3;
int month = remainder != 0 ? calendar.get(Calendar.MONTH) + (3 - remainder) : calendar.get(Calendar.MONTH);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return calendar.getTime();
}
/**
* 获取当前年份的第一天
* @return 时间毫秒数
*/
public static Date getFirstDayOfYear(){
return getFirstDayOfYear(new Date());
}
/**
* 获取时间所在年份的第一天
* @param date 日期
* @return 时间毫秒数
*/
public static Date getFirstDayOfYear(Date date){
Calendar currCal=Calendar.getInstance();
Calendar calendar = Calendar.getInstance();
calendar.clear();
currCal.setTime(date);
calendar.set(Calendar.YEAR,currCal.get(Calendar.YEAR));
return calendar.getTime();
}
/**
* 获取当前年份的最后一天
* @return 时间毫秒数
*/
public static Date getLastDayOfYear(){
return getLastDayOfYear(new Date());
}
/**
* 获取时间所在年份的最后一天
* @param date 日期
* @return 时间毫秒数
*/
public static Date getLastDayOfYear(Date date){
Calendar currCal= Calendar.getInstance();
Calendar calendar = Calendar.getInstance();
calendar.clear();
currCal.setTime(date);
calendar.set(Calendar.YEAR,currCal.get(Calendar.YEAR));
calendar.roll(Calendar.DAY_OF_YEAR,-1);
return calendar.getTime();
}
}