2012-10-11 58 views
3

這有什麼錯的java.util.Formatter:UnknownFormatConversionException:轉換= 'F'

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

我得到

產生的原因:java.util.UnknownFormatConversionException:轉換= 'F' 在java.util.Formatter $ FormatSpecifier.conversion(Formatter.java:2606) at java.util.Formatter $ FormatSpecifier。(Formatter.java:2634) at java.util.Formatter.parse(Formatter.java:2480) 在java.util.Formatter.format(Formatter.java:2 414) 在java.util.Formatter.format(Formatter.java:2367) 在java.lang.String.format(String.java:2769)

我想打印中所定義的ISO 8601的日期java.util.Formatter

+0

如何使用'T'日期/時間。我不知道'F'是做什麼的。 –

回答

8

我認爲日期格式模式需要一個前綴:

'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);