1、改版緣由java
一、老闆的Date和Calander存在問題,日期操做名稱混亂,有的在text下,有的在util下,包名混亂
二、Simple包混亂,致命錯誤線程不安全。
三、1.8規範的放在java.time目錄下
2、1.8日期使用簡介git
一、使用 LocalDate、LocalTime、LocalDateTimegithub
LocalDate、LocalTime、LocalDateTime 類的實 例是不可變的對象,分別表示使用 ISO-8601日 歷系統的日期、時間、日期和時間。它們提供了簡單的日期或時間,並不包含當前的時間信息。也不包含與時區相關的信息。
安全
二、LocalDateJDK文檔介紹ide
文本加代碼spa
1 LocalDate localDateMin = LocalDate.MIN; 2 System.out.println("localDateMin年的最小取值範圍 :\n" + localDateMin); 3 4 LocalDate localDateText = LocalDate.parse("2018-12-05"); 5 System.out.println("localDateText輸出字符串日期 :\n" + localDateText);
1 LocalDate localDate = LocalDate.now(); 2 3 System.out.println("localDate獲取當前yyyy-mm-dd :\n" + localDate); 4 5 LocalDate localDateSystem = LocalDate.now(ZoneId.systemDefault()); 6 7 System.out.println("當前系統默認時間:\n" + localDateSystem); 8 9 LocalDate localDateChinese = LocalDate.now(ZoneId.of("GMT+8", new HashMap<>(64))); 10 11 System.out.println("獲取某個時區的國家當前日期:\n" + localDateChinese);
1 Clock clock = Clock.systemDefaultZone(); 2 LocalDate localDateClock = LocalDate.now(clock); 3 System.out.println("localDateClock使用默認時區轉換爲日期和時間yyyy-mm-dd:\n" + localDateClock);
now 的方法線程
下週一的日期
1 LocalDate nextMonday = LocalDate.now().with(TemporalAdjusters.next(DayOfWeek.MONDAY)); 2 3 System.out.println("nextMonday下週一的日期 :\n" + nextMonday);
獲取當前是年月狀況
1 LocalDate localDateGet = LocalDate.now(); 2 3 System.out.println("localDateGet獲取當前是一年的第幾天 :\n" + localDateGet.getDayOfYear()); 4 System.out.println("localDateGet獲取當前是本月的第幾天 :\n" + localDateGet.getDayOfMonth()); 5 System.out.println("localDateGet獲取當前星期幾 :\n" + localDateGet.getDayOfWeek()); 6 System.out.println("localDateGet獲取當前年 :\n" + localDateGet.getYear()); 7 System.out.println("localDateGet獲取當前月 :\n" + localDateGet.getMonth());
1 LocalDate localDateOf = LocalDate.of(2018, 12, 30); 2 3 System.out.println("localDateOf獲取設置的yyyy-mm-dd:\n" + localDateOf); 4 5 LocalDate localDateOfYearDay = LocalDate.ofYearDay(2018, 352); 6 7 System.out.println("localDateOfYearDay獲取一年的第352天是哪月哪日的yyyy-mm-dd:\n" + localDateOfYearDay);
1 LocalDate dateFromBase = LocalDate.ofEpochDay(365); 2 System.out.println("1970年的365天后是:\n" + dateFromBase);
1 LocalDate localDateFormatNow = LocalDate.from(ZonedDateTime.now()); 2 System.out.println("當前日期是:\n" + localDateFormatNow);
1 LocalDate localDateText = LocalDate.parse("2018-12-05"); 2 System.out.println("localDateText輸出字符串日期 :\n" + localDateText); 3 4 LocalDate localDateFormat = LocalDate.parse("20181223", DateTimeFormatter.BASIC_ISO_DATE); 5 System.out.println("localDateFormat格式化日期 :\n" + localDateFormat);
git地址:點擊這裏3d
目前總結這些,之後使用到還會補充,但願對於你們有幫助,若是有疑問請留下您的問題,你們一塊兒共同討論code