0

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

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

4 回答 4

7

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

SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
于 2013-06-28T13:25:18.020 回答
4

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

改成:

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

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

于 2013-06-28T13:26:54.637 回答
2

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

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

来自上述链接的片段

字母日期或时间组件演示示例
G 时代代号 文本 AD
y 年 1996 年;96
M 年 月 月 7 月;七月; 07
w 一年中的第 27 周
W 月份第 2 周
D 一年中的第 189 天
d 月份中的第 10 天
F 月份中的第 2 天
E 星期几 文本星期二;周二
上午/下午标记文本 PM
小时 (0-23) 数字 0
k 小时 (1-24) 数字 24
K 小时(上午/下午) (0-11) 数字 0
小时(上午/下午) (1-12) 第 12 号
m 小时中的分钟数 30
s 分秒数 55
S 毫秒数 978
z 时区 一般时区 太平洋标准时间;太平洋标准时间; GMT-08:00
Z 时区 RFC 822 时区 -0800
于 2013-06-28T13:39:14.747 回答
1

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

    DateFormat df=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Date dd=new Date();
    System.out.println(df.format(dd));
于 2013-06-28T13:33:57.353 回答