標籤:格式轉換 比較 orm 不可 smi after minus 時間比較 3.5
java8引入了一套全新的時間日期API
新的時間及日期API位於java.time中java.time包中的是類是不可變且安全執行緒的。
下面是一些關鍵類
LocalDateTime //2018-05-12 08:30:30
LocalDate //2018-5-12
LocalTime //08:30:30:622
Instans //時間戳記 2018-05-12T14:20:13.592Z
擷取當前日期:
LocalDate now = LocalDate.now();
擷取年: now.getYear();
擷取月: now.getMonthValue();
擷取天: now.getDayofMonth();
擷取前一天:now.minusDays(1);
擷取前一周:now.minusWeeks(1);
擷取前一月:now.minusMonths(1);
擷取前一年:now.minusYears(1);
擷取後一天:now.plusDays(1);
擷取後一周:now.plusWeeks(1);
擷取後一月:now.plusMonths(1);
擷取後一年:now.plusYears(1);
擷取目前時間:
LocalDateTime nowTime = LocalDate.now();
擷取前一小時:nowTime.minusHours(1);
擷取前一分鐘:nowTime.minusMinutes(1);
擷取前30秒:nowTime.minusSeconds(30);
擷取後一小時:now.plusHours(1);
擷取後一分鐘:now.plusMinutes(1);
擷取後30秒:now.plusSeconds(30);
nowTime也可以擷取前一天,前一月。。。後一天,後一月。。。
時間格式轉換:
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String nowTimeString = nowTime.format(format);
LocalDateTime nowTimechange = LocalDateTime.parse(nowTimeString,format);
時間比較大小
LocalDateTime time1 = LocalDateTime.of(2018, 5, 12, 8, 30,30);ortime1 = LocalDateTime.parse("2018-05-12 08:30:30",format);
LocalDateTime time2 = LocalDateTime.of(2018, 4, 20, 16, 30, 30); or time2 = LocalDateTime.parse("2018-04-20 16:30:30",format);
time1.isAfter(time2) truetime1.isEqual(time2) falsetime1.isBefore(time2) false
java8時間類