java1.8中的时间处理类

java1.8中的时间处理类

在java 1.8中,增加了一些对时间的处理类,对时间的操作更加方便,在使用中对这些类进行了一些总结。

一, 3个时间操作类,

LocalDateTimeLocalDateLocalTime

这三个一般用于操作具体格式的时间,如只需要日期的操作就用LocalDate,只需要时间的操作用LocalTime

作用:

1,对时间进行加减 minus/plus,plusDays minusDays…

2, 获取这个时间在今年中的哪一天,本月中的第几天,本周中第几天 getDayOfMonth getDayOfYear getDayOfWeek

3, 获取这个时间在1970年1月1日 之后的多少天,多少秒…(可以用来计算时间差距)localDate.toEpochDay(),localDateTime.toEpochSecond(ZoneOffset.ofHours(8));计算秒的需要传入时区。

4,静态方法中有parse方法,可以使用LocalDateTime parseLocalDateTime = LocalDateTime.parse(“2018年08月04日 12时00分42秒”, formatter);来构造一个LocalDateTime

样例:

   //2007-12-03 10:15:30. 
    LocalDateTime localDateTime = LocalDateTime.now();

    //2007-12-03
    LocalDate localDate = LocalDate.now();

    //10:15:30
    LocalTime localTime = LocalTime.now();

二,一个时间格式化类

DateTimeFormatter

作用:

用户将上面的3个类格式化成想要的时间格式字符串

样例:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒");
    //下面两种方式都可以用来格式化成想要的格式
    String string = localDateTime.format(formatter);
    String string1 = formatter.format(localDateTime);

console 输出:

2018年08月04日 11时37分45秒
2018年08月04日 11时37分45秒

三,两个时间间隔类

Duration,Period

作用

Period记两个日期时间(localDate)之间的差距。

Duration记两个时间(年月日/时分秒/年月日时分秒)之间的差距。

样例:

    //两个Date之间的差距 可以获取相差的年月日
    Period period = Period.between(localDate, localDate1);
    //time之间的差距,获得相差的时分秒,注意
    Duration durationTime = Duration.between(localTime, localTime1);
    //Date之间的差距
    Duration durationDate = Duration.between(localDate, localDate1);
    //DateTime之间的差距
    Duration durationDateTime = Duration.between(localDateTime, localDateTime1);

猜你喜欢

转载自blog.csdn.net/doujinlong1/article/details/81411481