Java8獲取今天至未來某天的日期範圍及格式化
阿新 • • 發佈:2021-01-10
今天至未來某天的日期範圍
/**
* 返回今天的日期最小值
*/
public static LocalDateTime minDate(){
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.MIN;
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
return localDateTime;
}
/**
* 返回未來某天的日期最大值
*/
public static LocalDateTime maxDateByDays(Integer day){
LocalDate localDate = LocalDate.now().plusDays(day);
LocalTime localTime = LocalTime.MAX;
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
return localDateTime;
}
- 測試 【獲取日期範圍在2021-01-02-----2021-01-05之間的值】
public static void main(String[] args) {
System.out.println(minDate()); // 2021-01-02T00:00
System.out.println(maxDateByDays(3)); // 2021-01-05T23:59:59.999999999
}
將日期格式化
/**
* 返回今天的日期最小值
*/
public static String minDateFormatted (){
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.MIN;
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
String format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
return format;
}
/**
* 返回未來某天的日期最大值
*/
public static String maxDateByDaysFormatted(Integer day){
LocalDate localDate = LocalDate.now().plusDays(day);
LocalTime localTime = LocalTime.MAX;
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
String format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
return format;
}
- 再次測試
public static void main(String[] args) {
// System.out.println(minDate()); // 2021-01-02T00:00
// System.out.println(maxDateByDays(3)); // 2021-01-05T23:59:59.999999999
System.out.println(minDateFormatted()); //2021-01-02 00:00:00
System.out.println(maxDateByDaysFormatted(6)); //2021-01-08 23:59:59
}