【_ 記 】java8中的Clock,LocalTime ,LocalDate, LocalDateTime时间类

java8中的Clock,LocalTime ,LocalDate, LocalDateTime时间类


Clock

Clock类提供了访问当前日期和时间的方法,某一个特定的时间点也可以使用Instant类来表示

public class ClockTimeTest {
    private static final Consumer CONSUMER = System.out::println;

    public static void main(String[] args) {

        /*时区*/
        Clock clock = Clock.systemDefaultZone();
        CONSUMER.accept("当前时区:" + clock);


        /*获取当前的微秒数*/
        long millis = clock.millis();
        CONSUMER.accept("当前的微毫秒:" + millis);


        Instant instant = clock.instant();
        Date from = Date.from(instant);
        CONSUMER.accept("当前时间:" + from);

    }
}

LocalTime

LocalTime 定义了一个没有时区信息的时间

public static void main(String[] args) {
        /*当期的时分秒*/
        /*LocalTime localTime1 = LocalTime.now();
        LocalTime localTime2 = LocalTime.now();*/

        /*自定义时分秒*/
        LocalTime localTime1 = LocalTime.of(11, 22, 33);
        LocalTime localTime2 = LocalTime.of(12, 22, 33);
        CONSUMER.accept(localTime1);
        CONSUMER.accept(localTime2);
        /*判断时间二是否在时间一直之后*/
        CONSUMER.accept(localTime1.isAfter(localTime2));

        /*两个时间的小时差*/
        long between = ChronoUnit.HOURS.between(localTime1, localTime2);
        /*两个时间的分钟差*/
        long between1 = ChronoUnit.MINUTES.between(localTime1, localTime2);

        CONSUMER.accept(between);
        CONSUMER.accept(between1);




    }
}

LocalDate

LocalDate 表示了一个确切的日期,下面的例子展示了如何给Date对象加减天/月/年。另外要注意的是这些对象是不可变的,操作返回的总是一个新实例。

public class LocalDateTest {
    private static final Consumer CONSUMER = System.out::println;

    public static void main(String[] args) {
        /*当前日期*/
        LocalDate today = LocalDate.now();
        CONSUMER.accept(today);

        /*获得1天后的日期*/
        LocalDate tomorrow = today.plus(1, ChronoUnit.DAYS);
        CONSUMER.accept(tomorrow);

        /*获得1天前的日期*/
        LocalDate yesterday = today.minusDays(1);
        CONSUMER.accept(yesterday);

        /*查看2020年1月15号 是星期几*/
        LocalDate independenceDay = LocalDate.of(2020, Month.JANUARY, 15);
        DayOfWeek dayOfWeek = independenceDay.getDayOfWeek();
        CONSUMER.accept(dayOfWeek);

    }
}

LocalDateTime

LocalDateTime 同时表示了时间和日期,相当于前两节内容合并到一个对象上了。
LocalDateTime和LocalTime还有LocalDate一样,都是不可变的。LocalDateTime提供了一些能访问具体字段的方法。

public class LocalDateTimeTest {
    private static final Consumer CONSUMER = System.out::println;

    public static void main(String[] args) {

        LocalDateTime now = LocalDateTime.now();
        CONSUMER.accept(now);

        /*设置一个时间段*/
        LocalDateTime sylvester = LocalDateTime.of(2020, Month.JANUARY, 14, 14, 26, 59);
        CONSUMER.accept(sylvester);

        /*星期的第几天*/
        DayOfWeek dayOfWeek = sylvester.getDayOfWeek();
        CONSUMER.accept(dayOfWeek);
        /*月份的第几天*/
        int dayOfMonth = sylvester.getDayOfMonth();
        CONSUMER.accept(dayOfMonth);

        /*一年的第几天*/
        int dayOfYear = sylvester.getDayOfYear();
        CONSUMER.accept(dayOfMonth);

    }
}
发布了116 篇原创文章 · 获赞 116 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/o_o814222198/article/details/103989191