格式化时间

将时间转换为另外一种格式。例如,把 Long 类型的毫秒转换为 yyyy-MM-dd HH:mm:ss 格式。

  1. private static DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  2. LocalDateTime localDateTime = LocalDateTime
  3. .ofInstant(Instant.ofEpochMilli(value), ZoneOffset.of("+8"));
  4. String date = df.format(localDateTime);

解析时间

将可支持的格式转换成Date、Long 等其他类型。
yyyy-MM-dd HH:mm:ss 格式转换为毫秒。

  1. private DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  2. Long date = LocalDateTime.parse(p.getText(), df)
  3. .toInstant(ZoneOffset.of("+8"))
  4. .toEpochMilli();

Date 转 String

  1. LocalDateTime now = LocalDateTime.now();
  2. DateTimeFormatter pattern =
  3. DateTimeFormatter.ofPattern("G yyyy年MM月dd号 E a hh时mm分ss秒");
  4. String format = now.format(pattern);
  5. System.err.println(format);//公元 2019年05月18号 周六 上午 10时22分10秒

String 转 Date

  1. DateTimeFormatter pattern =
  2. DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  3. //严格按照ISO yyyy-MM-dd验证,03写成3都不行
  4. LocalDateTime dt = LocalDateTime.parse("2017-12-03 10:15:30", pattern);
  5. System.err.println(dt.format(pattern));//2017-12-03 10:15:30