LocalData
java8中时间明确区分为,LocalDate(日期),LocalTime(时间),LocalDateTime(日期及时间),使用起来比java.util.date简便很多。
下面是LocalDateTime部分函数的使用,三种日期类的函数使用基本一样。
字符串转LocalDateTime,有两种方式,一种是默认的格式,一种是自定义格式
//默认方式,严格按照yyyy-MM-ddTHH:mm:ss 格式来,日期和时间中间有个T,不是写错。
LocalDateTime localDateTime1=LocalDateTime.parse("2018-11-05T12:00:00");
//自定义
LocalDateTime localDateTime2=LocalDateTime.parse("2015-11-11 12",DateTimeFormatter.ofPattern("yyyy-MM-dd HH"));
比java原本的date类简便的是他的日期时间加减,有方法可以直接调用,不用像date一样,还有转calendar什么的
//日期增加
localDateTime1.plusDays(12)
//日期减少
localDateTime1.minusDays(12)
//也有其他对应的分钟,小时,月份增减
......
日期对比
//方法1,默认得出相差天数,其他需自己计算
localDateTime1.compareTo(localDateTime2);
//方法2
Duration duration=Duration.between(localDateTime1,localDateTime2);
duration.toHours();//相差小时数,也有其他的
Map的遍历
之前遍历map,通常是用keyset或是entryset,java8中提供了新方法,foreach
Map<String,String> map=new HashMap<>();
map.put("1","1");
map.put("2","2");
map.put("3","3");
map.forEach((key,value)->{
System.out.println(key+"--------------->"+value);
});
stream
List<String> list= Arrays.asList("a","b","c","D","2","s","T","a");
//查找出集合中符合条件的参数,s 为自己定义的别名
Stream stream=list.stream();
System.out.println(stream.filter(s->s=="a").collect(Collectors.toList()));