java8 新日期和时间demo
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java8 新日期和时间demo相关的知识,希望对你有一定的参考价值。
//LocalDateTime private static void test1() { //初始化日期和时间 LocalDateTime ldt1=LocalDateTime.of(2016,10,04,10,40,50); System.out.println(ldt1);//2016-10-04T10:40:50 //获取当前日期和时间 LocalDateTime ldt2=LocalDateTime.now(); System.out.println(ldt2);//2017-11-04T11:02:57.721 //增加年 LocalDateTime ldt3=ldt2.plusYears(2);//2019-11-04T11:02:57.721 System.out.println(ldt3); //减少分钟 LocalDateTime ldt4=ldt2.minusMinutes(30);//2017-11-04T10:32:57.721 System.out.println(ldt4); //获取年月日时分秒 System.out.println("年:"+ldt2.getYear());//年:2017 System.out.println("月:"+ldt2.getMonthValue());//月:11 System.out.println("日:"+ldt2.getDayOfMonth());//日:4 System.out.println("时:"+ldt2.getHour());//时:11 System.out.println("分:"+ldt2.getMinute());//分:2 System.out.println("秒:"+ldt2.getSecond());//秒:57 }
//Instant:时间戳(以Unix元年:1970年1月1日0点0分0秒 到指定时间的毫秒值 private static void test2(){ Instant ins1=Instant.now();//默认获取UTC时区 System.out.println(ins1);//2017-11-04T03:23:45.442Z //获取东八区时间(北京时间) OffsetDateTime odt= ins1.atOffset(ZoneOffset.ofHours(8));//2017-11-04T11:23:45.442+08:00 System.out.println(odt); //获取毫秒值 System.out.println(ins1.toEpochMilli());//1509765825442 //获取秒值 System.out.println(odt.toEpochSecond());//1509765825 Instant ins2=Instant.ofEpochMilli(60);//1970-01-01T00:00:00.060Z System.out.println(ins2); }
//计算时间间隔 private static void test3(){ //第一种方式 Instant ins1=Instant.now(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Instant ins2=Instant.now(); Duration duration=Duration.between(ins1,ins2); System.out.println("间隔的毫秒:"+duration.toMillis());//间隔的毫秒:1031 System.out.println("间隔的天:"+duration.toDays());//间隔的天:0 System.out.println("间隔的小时:"+duration.toHours());//间隔的小时:0 System.out.println("间隔的分钟:"+duration.toMinutes());//间隔的分钟:0 System.out.println("间隔的纳秒:"+duration.toNanos());//间隔的纳秒:1031000000 //第二种方式 LocalTime lt1=LocalTime.now(); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } LocalTime lt2=LocalTime.now(); System.out.print(Duration.between(lt1,lt2).toMillis());//2000毫秒 }
private static void test4(){ LocalDate ld1=LocalDate.of(2015,1,1); LocalDate ld2=LocalDate.now(); System.out.println(ld2);//2017-11-04 Period period=Period.between(ld1,ld2); System.out.println(period);//P2Y10M3D System.out.println(period.getYears());//2 System.out.println(period.getMonths());//10 System.out.println(period.getDays());//3 }
以上是关于java8 新日期和时间demo的主要内容,如果未能解决你的问题,请参考以下文章