获取时间所在月份的天数
public static int getMonthDays(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
SimpleDateFormat format = new SimpleDateFormat("dd");
String format1 = format.format(calendar.getTime());
return Integer.parseInt(format1);
}
获取时间所在周的周一
public static Date getWeekStart(Date date) {
LocalDate localDate = date.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
int week = localDate.getDayOfWeek().getValue();
return DateUtils.addDays(date, (week - 1) * -1);
}
获取时间所在周的周日
public static Date getWeekEnd(Date date) {
LocalDate localDate = date.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
int week = localDate.getDayOfWeek().getValue();
return DateUtils.addDays(date, week - 1);
}
获取时间所在月的月初
public static Date getMonthStart(Date date) {
LocalDate localDate = date.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
int month = localDate.getDayOfMonth();
return DateUtils.addDays(date, (month - 1) * -1);
}
获取时间所在月的月末
public static Date getMonthEnd(Date date) {
LocalDate localDate = date.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
int month = localDate.getDayOfMonth();
return DateUtils.addDays(date, ParamUtils.getMonthDays(date) - month);
}
获取时间所在的年份
public static String getYear(Date date) {
LocalDate localDate = date.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
return localDate.getYear() + "";
}