Java

LocalDateTime 代替 Date

2020-03-23  本文已影响0人  愤怒的老照

背景

http://devgou.com/article/Java-Date/

使用java8新的api,LocalDateTime

LocalDate,只有年月日

获取当前时间
LocalDate localDate = LocalDate.now();
System.out.println(localDate); //2020-03-23
构造指定的年月日
LocalDate localDate = LocalDate.of(2020, 3, 23);
System.out.println(localDate); //2020-03-23
获取年月日
LocalDate localDate = LocalDate.of(2020, 3, 23);
        int year = localDate.getYear();
        Month month = localDate.getMonth();
        int day = localDate.getDayOfMonth();
        DayOfWeek dayOfWeek = localDate.getDayOfWeek();

        System.out.println(year); //2020
        System.out.println(month.getValue()); //3
        System.out.println(day); //23
        System.out.println(dayOfWeek.getValue()); //1

LocalTime,只有时分秒

当前日期
LocalTime localTime1 = LocalTime.now();
System.out.println(localTime); //20:30:52.620
创建指定的日期
LocalTime localTime = LocalTime.of(20, 30, 52);
System.out.println(localTime); //20:30:52.620
获取时分秒
LocalTime localTime = LocalTime.of(20, 30, 52,200);
System.out.println(localTime.getHour()); // 20
System.out.println(localTime.getMinute()); // 30
System.out.println(localTime.getSecond()); //52
System.out.println(localTime.getNano()); // 200

LocalDateTime,相当于前两个结合

构造函数
LocalDateTime localDateTime = LocalDateTime.now(); 
LocalDateTime localDateTime1 = LocalDateTime.of(localDate, localTime); 
LocalDateTime localDateTime3 = localDate.atTime(localTime);
 LocalDateTime localDateTime4 = localTime.atDate(localDate);
获取localDate
LocalDate localDate = localDateTime.toLocalDate();
获取LocalTime
LocalTime localTime = localDateTime.toLocalTime();

LocalDateTime增加日期

LocalDateTime localDateTime = LocalDateTime.now();
LocalDateTime localDateTime = LocalDateTime.now();
localDateTime.minusDays(1); //减少一天
localDateTime.plusDays(1); // 增加一天

localDateTime = localDateTime.withYear(2020); //修改为2020

格式化时间

LocalDate localDate = LocalDate.of(2020, 3, 23);
String s1 = localDate.format(DateTimeFormatter.BASIC_ISO_DATE);
String s2 = localDate.format(DateTimeFormatter.ISO_LOCAL_DATE);
DateTimeFormatter dateTimeFormatter =   DateTimeFormatter.ofPattern("dd/MM/yyyy");
String s3 = localDate.format(dateTimeFormatter);

System.out.println(s1); //20200323
System.out.println(s2); //2020-03-23
System.out.println(s3); //23/03/2020

解析时间

LocalDate localDate1 = LocalDate.parse("20200323", DateTimeFormatter.BASIC_ISO_DATE);
LocalDate localDate2 = LocalDate.parse("2020-03-23", DateTimeFormatter.ISO_LOCAL_DATE);
上一篇 下一篇

猜你喜欢

热点阅读