1. 当前时间的时间戳

  1. // 获取毫秒数
  2. Long milliSecond = LocalDateTime.now().toInstant(ZoneOfset.of("+8")).toEpochMilli();
  3. // 当前毫秒
  4. Long milliSecond = System.currentTimeMillis();
  5. // 获取当前秒数
  6. Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));

2.LocalDateTime 和 String互转

  1. DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  2. DateTimeFormatter fmt1 = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
  3. DateTimeFormatter fmt2 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
  4. // 字符串转时间
  5. String dateTimeStr = "2021-02-28 14:11:15";
  6. LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, fmt);
  7. //时间转字符串格式化
  8. Long timeStamp = 1614773350L;
  9. Instant instant = Instant.ofEpochSecond(timestamp);
  10. LocalDateTime ldt = LocalDateTime.ofInstant(timestamp, ZoneId.systemDefault());
  11. String dateTimeStr = ldt.format(fmt1);

3. 时间戳转LocalDateTime

  1. // 时间戳转LocalDateTime
  2. Long timeStamp = 1614773350L;
  3. Instant instant = Instant.ofEpochSecond(timeStamp);
  4. LocalDateTime dateTime = LocalDateTime.ofInstant(instant,ZoneId.systemDefault());

4. 时间戳 转 ISO8601时间格式

  1. //时间转字符串格式化
  2. Long timeStamp = 1614773350L;
  3. try {
  4. LocalDateTime dt1 = LocalDateTime.ofEpochSecond(timestamp,0, ZoneOffset.ofHours(8));;
  5. ZoneOffset offset = ZoneOffset.of("+8");
  6. OffsetDateTime date = OffsetDateTime.of(dt1,offset);
  7. DateTimeFormatter formatter2=DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
  8. String unixTime=date.format(formatter2);
  9. } catch (DateTimeParseException ex) {
  10. ex.printStackTrace();
  11. }