java.time 和格式模式字母 p
这是现代答案,使用的是 Joda-Time 的继承者 java.time。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM ppd HH:mm:ss uuuu", Locale.ENGLISH);
String[] stringsToParse = {
"Mon Nov 20 14:40:36 2006",
"Mon Nov 6 14:40:36 2006"
};
for (String dateTimeString : stringsToParse) {
LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter);
System.out.println(dateTime);
}
输出:
2006-11-20T14:40:36
2006-11-06T14:40:36
DateTimeFormatter.ofPattern
格式化字母意味着在p
左边用空格填充。pp
表示填充到两个位置。它可以用于格式化和 - 如此处 - 解析。
我知道你问过 Joda-Time。Joda-Time 主页说:
请注意,Joda-Time 被认为是一个基本上“完成”的项目。没有计划进行重大改进。如果使用 Java SE 8,请迁移到java.time
(JSR-310)。
链接