整理一下java1.8常用日期函數
- 時間戳轉化,時間類型轉化
//時間戳轉化為日期格式 String類型接收
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String a = sf.format(new Date(Long.valueOf("1574928390000")));
System.out.println(a);
//時間戳轉化為日期格式 LocalDate類型接收
LocalDate b = LocalDate.parse(DateUtil.getDateByTime(DateUtil.DATE_PATTERN_SIMPLE,
1574928390), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(b);
//String日期格式轉化為LocalDate
LocalDate c = LocalDate.parse("2020-03-03");
//String時間轉為LocalTime
String time = "09:00:00";
System.out.println(LocalTime.parse(time, DateTimeFormatter.ofPattern("HH:mm:ss")));
//LocalDateTime 轉LocalTime
LocalDateTime.now().toLocalTime();
//localdateTime轉時間戳
LocalDateTime.now().plusDays(-7).toEpochSecond(ZoneOffset.of("+8"))
//時間戳轉LocalDateTime
LocalDateTime.ofEpochSecond(listRedPacketDrawDO.getSendTime(), 0, ZoneOffset.ofHours(8)).toString()
- 擷取目前時間
//時間戳,機關/s
System.out.println(Instant.now().getEpochSecond());
//時間戳 機關/ms
System.out.println(Instant.now().toEpochMilli());
//yyyy-MM-dd HH:mm:ss
System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
- 擷取目前日期
//yyyyMMdd
System.out.println(LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE));
//yyyy-MM-dd
System.out.println(LocalDate.now());
- 單獨擷取目前年,月,日,時間
//擷取年
System.out.println(LocalDate.now().getYear());
//目前為一年中的第幾天
System.out.println(LocalDate.now().getDayOfYear());
//擷取月份(英文月份名)
System.out.println(LocalDate.now().getMonth());
//擷取月份(數字)
System.out.println(LocalDate.now().getMonth().getValue());
//目前為一月中的第幾天
System.out.println(LocalDate.now().getDayOfMonth());
//小時
System.out.println(LocalDateTime.now().getHour());
//分鐘
System.out.println(LocalDateTime.now().getMinute());
//秒
System.out.println(LocalDateTime.now().getSecond());
- 擷取間隔日期
//昨日日期
System.out.println(LocalDate.now().plusDays(-1));
//10天後的日期
System.out.println(LocalDate.now().plusDays(10));
//一周前
System.out.println(LocalDate.now().plusWeeks(-1));
//一個月前
System.out.println(LocalDate.now().plusMonths(-1));
//一年前
System.out.println(LocalDate.now().plusYears(-1));
- 計算兩個日期之間的天數,月份,年份差
//日期差
System.out.println(Period.between(LocalDate.now().plusDays(-5), LocalDate.now()).getDays());
//月份差
System.out.println(Period.between(LocalDate.now().plusDays(-5), LocalDate.now()).getMonths());