获取参数月份的开始时间和结束时间
// 获取当月的开始时间和结束时间 参数date为yyyy-MM
LocalDate firstDayOfMonth = LocalDate.parse(date + "-01"); // 获取当月开始时间
LocalDate lastDayOfMonth =
firstDayOfMonth.with(TemporalAdjusters.lastDayOfMonth());// 获取当月结束时间
根据两个时间段获取每一天
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 根据两个时间段获取每一天
*/
public class ObtainBetweenDateUtils {
public static Set getBetweenDate(String start,String end){
LocalDate startDate = LocalDate.parse(start);
LocalDate endDate = LocalDate.parse(end);
long between = ChronoUnit.DAYS.between(startDate, endDate);
if (between < 1) {
return Stream.of(start, end).collect(Collectors.toSet());
}
return Stream.iterate(startDate, e -> e.plusDays(1))
.limit(between + 1).map(LocalDate::toString).collect(Collectors.toSet());
}
}
Java获取当月开始时间和当月结束时间
public class Time{
private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args){
Calendar calendar= Calendar.getInstance();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd ");
String format = dateFormat.format(calendar.getTime());
String minMonthDate = getMinMonthDate(format);
String s = minMonthDate+" 00:00:00";
System.out.println(s); //2020-11-01 00:00:00
String maxMonthDate = getMaxMonthDate(format);
String e = maxMonthDate+" 59:59:59";
System.out.println(e); //2020-11-30 59:59:59
}
// 获得当前月--开始日期
public static String getMinMonthDate(String date) {
Calendar calendar = Calendar.getInstance();
try {
calendar.setTime(dateFormat.parse(date));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
return dateFormat.format(calendar.getTime());
} catch (java.text.ParseException e) {
e.printStackTrace();
}
return null;
}
// 获得当前月--结束日期
public static String getMaxMonthDate(String date){
Calendar calendar = Calendar.getInstance();
try {
calendar.setTime(dateFormat.parse(date));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return dateFormat.format(calendar.getTime());
} catch (java.text.ParseException e) {
e.printStackTrace();
}
return null;
}
}
java中接收了一个String类型的年月的参数,获取该月的开始年月日和结束的年月日
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class DateExample {
public static void main(String[] args) {
String yearMonth = "2023-08";
LocalDate firstDayOfMonth = LocalDate.parse(yearMonth + "-01");
LocalDate lastDayOfMonth = firstDayOfMonth.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("开始年月日:" + firstDayOfMonth);
System.out.println("结束年月日:" + lastDayOfMonth);
}
}