用Java格式化LocalDate:What';“这是”的模式;2020年3月26日“;
我似乎想不出“2020年3月26日”(没有逗号)的模式。有人能帮忙吗?我尝试了模式的用Java格式化LocalDate:What';“这是”的模式;2020年3月26日“;,java,Java,我似乎想不出“2020年3月26日”(没有逗号)的模式。有人能帮忙吗?我尝试了模式的DateTimeFormatter.of(“MMMM-dd-yyyy”)和模式的DateTimeFormatter.of(“MMM-dd-yyyy”)。任何帮助都将不胜感激 最小可复制示例: String strDate = "March 26 2020"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM
DateTimeFormatter.of(“MMMM-dd-yyyy”)
和模式的DateTimeFormatter.of(“MMM-dd-yyyy”)
。任何帮助都将不胜感激
最小可复制示例:
String strDate = "March 26 2020";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM dd uuuu");
LocalDate date = LocalDate.parse(strDate, dtf);
System.out.println(date);
在我的电脑上
线程“main”java.time.format.DateTimeParseException中的异常:
无法在索引0处分析文本“2020年3月26日”
预期产出为
在格式模式中使用
MMM
时,例外情况相同。使用模式MMMM dd uuuu
和Locale.ENGLISH
演示:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
class Main {
public static void main(String[] args) {
String strDate = "March 26 2020";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM dd uuuu", Locale.ENGLISH);
LocalDate date = LocalDate.parse(strDate, dtf);
System.out.println(date);
}
}
2020-03-26
输出:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
class Main {
public static void main(String[] args) {
String strDate = "March 26 2020";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM dd uuuu", Locale.ENGLISH);
LocalDate date = LocalDate.parse(strDate, dtf);
System.out.println(date);
}
}
2020-03-26
试试这个
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM' 'dd' 'yyyy", Locale.ENGLISH)
对我来说很好,输出:
December 10 2020
Locale.ENGLISH
非常流行!我认为,Locale.US
也可以Locale.ROOT
,有趣的是,没有。真的很有趣,@mcepender,谢谢。在我的Java11上,Locale.ROOT产生并期望2020年3月26日。可能对我来说是个bug,但可能有一些原因我不明白。您不需要使用'
显式指定MMMM
和dd
之间或dd
和yyyy
之间的空格。你可以不使用单引号简单地把空格放进去。我看到有时候它会让你感到惊讶difference@MichaelGantman不,一个空间永远不会。有些人还是推荐单引号,这可能是口味的问题。