java.util.Formatter:UnknownFormatConversionException:Conversion=';F';

java.util.Formatter:UnknownFormatConversionException:Conversion=';F';,java,date-formatting,iso8601,Java,Date Formatting,Iso8601,你怎么了 public String toString() { return super.toString() + String.format(" %1$F-%2$F", startDate, endDate); } 我明白了 原因:java.util.UnknownFormatConversionException:Conversion='F' 在java.util.Formatter$FormatSpecifier.conversion(Formatter.

你怎么了

public String toString() {
    return super.toString()
            + String.format(" %1$F-%2$F", startDate, endDate);
}
我明白了

原因:java.util.UnknownFormatConversionException:Conversion='F' 在java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2606) 位于java.util.Formatter$FormattSpecifier。(Formatter.java:2634) 位于java.util.Formatter.parse(Formatter.java:2480) 位于java.util.Formatter.format(Formatter.java:2414) 位于java.util.Formatter.format(Formatter.java:2367) 位于java.lang.String.format(String.java:2769)


我想打印在

中定义的ISO 8601日期。我认为日期格式模式需要前缀:

't', 'T'    date/time   Prefix for date and time conversion characters. See Date/Time Conversions. 
F
修饰符的示例也显示了以下语法:

'F'     ISO 8601 complete date formatted as "%tY-%tm-%td". 
因此,以下模式应该有效:

String.format(" %1$tF-%2$tF", startDate, endDate);

T
表示日期/时间如何。我不知道
F
做什么。