LocalDate的使用

1. 

java.time.LocalDate  ->只对年月日做出处理
java.time.LocalTime  ->只对时分秒纳秒做出处理
java.time.LocalDateTime ->同时可以处理年月日和时分秒

2. 

        // 获取今天的日期
        LocalDate today = LocalDate.now();
        // 今天是几号
        int dayofMonth = today.getDayOfMonth();
        // 今天是周几(返回的是个枚举类型,需要再getValue())
        int dayofWeek = today.getDayOfWeek().getValue();
        // 今年是哪一年
        int dayofYear = today.getDayOfYear();
        
        // 根据字符串取:
        LocalDate endOfFeb = LocalDate.parse("2018-02-28"); 
        // 严格按照yyyy-MM-dd验证,02写成2都不行,当然也有一个重载方法允许自己定义格式 

3.  这些只是单纯的获取日期,可见其能够获取日期的种类多种多样,比原来的Date型好用太多,尤其是过去的Date型,月份计算居然是从0开始,不是一般的反人类

     LocalDate更加强大的地方还没展示:

        // 取本月第1天:
        LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 2018-04-01
        // 取本月第2天:
        LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 2018-04-02
        // 取本月最后一天,再也不用计算是28,29,30还是31:
        LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 2018-04-30
        // 取下一天:
        LocalDate firstDayOfNextMonth = lastDayOfThisMonth.plusDays(1); // 变成了2018-05-01
        // 取2017年1月第一个周一:
        LocalDate firstMondayOf2017 = LocalDate.parse("2017-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); // 2017-01-02 

4. 

//LocalDate的格式化不要用SimpleDateFormat的方法。
LocalDate today = LocalDate.now();
DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
String text = today.format(formatters);

5. LocalTime只包含时间,获得当前时间

LocalTime now = LocalTime.now();

6. 

JDBC
最新JDBC映射将把数据库的日期类型和Java 8的新类型关联起来:
SQL -> Java
--------------------------
date -> LocalDate
time -> LocalTime
timestamp -> LocalDateTime

https://www.liaoxuefeng.com/article/991339711823296

posted @ 2020-01-17 09:48  这都没什么  阅读(627)  评论(0编辑  收藏  举报