工作中各种各样的需求, 会需要使用一些 存在/但我不会/我也没见过 的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);//当天结束