没有直接的工具可以执行此操作,但是您可以使用可选部分。可选部分放在方括号内
[]。这允许整个字符串的分析部分丢失。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("" + "[yyyy/MM/dd HH:mm:ss.SSSSSS]" + "[yyyy-MM-dd HH:mm:ss[.SSS]]" + "[ddMMMyyyy:HH:mm:ss.SSS[ Z]]");该格式化程序为您拥有的三个主要模式定义了3个主要的可选部分。它们每个都在其自己的可选部分中。
工作演示代码:
public static void main(String[] args) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("" + "[yyyy/MM/dd HH:mm:ss.SSSSSS]" + "[yyyy-MM-dd HH:mm:ss[.SSS]]" + "[ddMMMyyyy:HH:mm:ss.SSS[ Z]]" , Locale.ENGLISH); System.out.println(LocalDateTime.parse("2016/03/23 22:00:00.256145", formatter)); System.out.println(LocalDateTime.parse("2016-03-23 22:00:00", formatter)); System.out.println(LocalDateTime.parse("2016-03-23 22:00:00.123", formatter)); System.out.println(LocalDateTime.parse("23Mar2016:22:00:00.123", formatter)); System.out.println(LocalDateTime.parse("23Mar2016:22:00:00.123 -0800", formatter));}


