Java数据格式错误

时间:2013-06-28 13:22:07

标签: java datetime

有关如何解决此问题的任何线索:

SimpleDateFormat df = new SimpleDateFormat("yyyy/mm/dd hh:24mi:ss");

例外:

Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'i'
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:696)
at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:515)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:464)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:445)
at CopyEJ.CopyEJ.main(CopyEJ.java:105)

4 个答案:

答案 0 :(得分:7)

您的模式字符串不符合java标准。这应该有效:

SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

答案 1 :(得分:3)

您的日期格式模式字符串包含无效序列24mi

更改为:

SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

请注意: 大字母“HH”表示24小时:例如23:59:00
而“hh”是12小时格式:11:59:00

答案 2 :(得分:2)

正如其他人指出的那样,模式字符串不正确,可以像其他人"yyyy/MM/dd HH:mm:ss"所示。

请参阅java documentation以查找可用于格式化日期的可用模式字母。

上述链接中的代码段

Letter  Date or Time Component  Presentation    Examples
G   Era designator  Text    AD
y   Year    Year    1996; 96
M   Month in year   Month   July; Jul; 07
w   Week in year    Number  27
W   Week in month   Number  2
D   Day in year     Number  189
d   Day in month    Number  10
F   Day of week in month    Number  2
E   Day in week     Text    Tuesday; Tue
a   Am/pm marker    Text    PM
H   Hour in day (0-23)  Number  0
k   Hour in day (1-24)  Number  24
K   Hour in am/pm (0-11)    Number  0
h   Hour in am/pm (1-12)    Number  12
m   Minute in hour  Number  30
s   Second in minute    Number  55
S   Millisecond     Number  978
z   Time zone   General time zone   Pacific Standard Time; PST; GMT-08:00
Z   Time zone   RFC 822 time zone   -0800

答案 3 :(得分:1)

如果你想要24小时格式的小时 使用此

    DateFormat df=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Date dd=new Date();
    System.out.println(df.format(dd));