LocalDateTime&LocalDate&LocalTime

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime time = LocalDateTime.now();
String localTime = df.format(time);
LocalDateTime ldt = LocalDateTime.parse("2019-07-10 17:07:05",df);
System.out.println("LocalDateTime转成String类型的时间:"+localTime);
System.out.println("String类型的时间转成LocalDateTime:"+ldt);

# day hours minutes
LocalDateTime localDateTime3 = LocalDateTime.now();
LocalDateTime localDateTime4 = LocalDateTime.now();
Duration duration = Duration.between(localDateTime3,ldt);
System.out.println("day:"+duration.toDays() +"hours"+ duration.toHours()+"minutes:"+ duration.toMinutes());

#
Period period2 = Period.between(localDateTime4.toLocalDate(),localDateTime4.toLocalDate());
period2.getYears();
period2.getMonths();
period2.toTotalMonths();
#plusDays
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime startTime = LocalDateTime.now();
LocalDateTime endTime = startTime.plusDays(7);

 boolean isSameYear = startTime.getYear() ==endTime.getYear();
boolean isSameMonth =startTime.getMonth()==endTime.getMonth();
boolean isSameDate =startTime.getDayOfYear()==endTime.getDayOfYear();

  System.out.println("开始时间:" + startTime.format(df) + ",结束时间:" + endTime.format(df));


  LocalDateTime dateTest = LocalDateTime.parse("2018-02-30 12:12:12", df);
System.out.println("时间自动转化:" + dateTest.toString());

        int daysNum = Period.between(startTime.toLocalDate(), endTime.toLocalDate()).getDays();
int monthNum = Period.between(startTime.toLocalDate(), endTime.toLocalDate()).getMonths();
System.out.println("相差天数:" + daysNum);
System.out.println("相差月数:" + monthNum);


System.out.println("当前时间向前推6天:" + LocalDateTime.now().minusDays(6));
System.out.println("当前时间向前推6小时:" + LocalDateTime.now().minusHours(6));

System.out.println(LocalDate.now().until(LocalDate.now().minusDays(5), ChronoUnit.MONTHS));

//查询两个LocalDate的相差天数
System.out.println(LocalDate.now().toEpochDay() - LocalDate.now().minusDays(5).toEpochDay());

LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
//int day = localDateTime.getDayOfYear();
//只获取年月日
System.out.println("当前月份为:" + localDateTime.getYear());
System.out.println("当前月份为:" + localDateTime.getMonthValue());
System.out.println("当前日期为:" + localDateTime.getDayOfMonth());
System.out.println(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
LocalDate ld = LocalDate.parse("2018-09-26");
LocalDateTime ldt = LocalDateTime.parse("2018-09-26T22:24:33");



//当前时间在结束日期之前
Boolean is = LocalDateTime.now().isBefore(endTime);
//当前时间在开始时间之后
Boolean is2 = LocalDateTime.now().isAfter(startTime);
 
long DAYS= betweenTwoTime(startTime,endTime,ChronoUnit.DAYS);


//SECONDS
long SECONDS= betweenTwoTime(startTime,endTime,ChronoUnit.SECONDS);

//查询两个LocalDate的相差天数
System.out.println(endTime.toLocalDate().toEpochDay() - startTime.toLocalDate().toEpochDay());

 // Java 8
        DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
        LocalDate date2 = LocalDate.now();
        System.out.println(date2.format(newFormatter));
/**
* 获取两个日期的差 field参数为ChronoUnit.*
* @param startTime
* @param endTime
* @param field 单位(年月日时分秒)
* @return
*/
public static long betweenTwoTime(LocalDateTime startTime, LocalDateTime endTime, ChronoUnit field) {
Period period = Period.between(LocalDate.from(startTime), LocalDate.from(endTime));
if (field == ChronoUnit.YEARS) return period.getYears();
if (field == ChronoUnit.MONTHS) return period.getYears() * 12 + period.getMonths();
return field.between(startTime, endTime);
}
List<Integer> list = Arrays.asList(10, 20, 30, 40);

List<Integer> result1= list.stream().sorted(Comparator.comparingInt((x)->(int)x).reversed()).collect(Collectors.toList());
System.out.println(result1);


原文地址:https://www.cnblogs.com/ywsheng/p/11236425.html