Tou*_*eer 1 java date date-formatting
我有一个字符串"20180101",需要在"2018","01"和"01"之后追加" - ",所以它看起来像"2018-01-01".Java中有没有标准方法可以做到这一点?
LocalDate.parse(
"20180101",
DateTimeFormatter.BASIC_ISO_DATE
)
.toString()
Run Code Online (Sandbox Code Playgroud)
2018年1月1日
那个字符串看起来像个约会.我建议你把它解析成一个LocalDate.
您的输入字符串格式uuuuMMdd是标准ISO 8601的"基本"变体.java.time类已为该格式化模式预定义了一个对象DateTimeFormatter.BASIC_ISO_DATE.
String默认情况下,该类会以您所需的格式生成标准ISO 8601格式.
LocalDate localDate = LocalDate.parse("20180101", DateTimeFormatter.BASIC_ISO_DATE);
String output = localDate.toString(); // the default format is the format you want.
Run Code Online (Sandbox Code Playgroud)
2018年1月1日
上面的性能有点贵,所以这是一个简单的方法StringBuilder:
StringBuilder sb = new StringBuilder("20180101");
sb.insert(6, "-");
sb.insert(4, "-");
System.out.println(sb);
Run Code Online (Sandbox Code Playgroud)