API收集

135 阅读1分钟

工作中各种各样的需求, 会需要使用一些  存在/但不会/也没见过 的API(吐槽一下,实在是太多了,所以翻一下代码,把以前的整理一下,往后遇到的也记录下来)

LocalDate转Date

LocalDate localDate= LocalDate.now();
Date date = Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());

Date转LocalDate

获取月初月底 年初年底

获取图中那个Date日期所在月的月初/月底  扩展的还有年初/年底等方法 (前面那个参数改一改)

Duration用法

//LocalDateTime startTime, LocalDateTime endTime
Duration duration = Duration.between(startTime, endTime);
return duration.toDays() + "天" + (duration.toHours() - 24 * duration.toDays()) + "时" + (duration.toMinutes() - 60 * duration.toHours()) + "分钟";
//返回示例: 1天3时20分钟

LocalDateTime与String日期互相转换

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime time = LocalDateTime.now();
String localTime = df.format(time);

System.out.println("LocalDateTime转成String类型的时间:"+localTime);

LocalDateTime ldt = LocalDateTime.parse("2017-09-28 17:07:05",df);

System.out.println("String类型的时间转成LocalDateTime:"+ldt);

获取当天的开始时间和结束时间

LocalDateTime today_start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);//当天零点   

LocalDateTime today_end = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);//当天结束