这是我的代码:
new java.text.SimpleDateFormat("hh hours, mm minutes and ss seconds.").format(new java.util.Date(milliseconds));`
我收到此错误:
java.lang.IllegalArgumentException: Illegal pattern character 'o'
at java.text.SimpleDateFormat.compile(Unknown Source)
at java.text.SimpleDateFormat.initialize(Unknown Source)
我做错了什么?
答案 0 :(得分:2)
可以使用单引号(')引用文字以避免解释。 “''”代表单引号。所有其他角色都没有 解释;它们只是简单地复制到输出字符串中 在解析期间格式化或匹配输入字符串
因此''
围绕你不想解释的String的任何部分,比如
new java.text.SimpleDateFormat("hh 'hours', mm 'minutes and' ss 'seconds.'")
答案 1 :(得分:1)
格式字符串不正确。查看doc并按照您希望的格式提供格式字符串。 Java Doc
在您的情况下,以下行将有效。
new java.text.SimpleDateFormat("hh 'hours', mm 'minutes and' ss 'seconds.'")
使用单引号以避免误解。
答案 2 :(得分:1)
这应该有效:
String val = new java.text.SimpleDateFormat(
"hh 'hours', mm 'minutes and', ss 'seconds.'").
format(new java.util.Date(100000));
System.out.println(val);
从documentation日期时间和模式:
日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从“A”到“Z”的不带引号的字母 从'a'到'z'被解释为代表的模式字母 日期或时间字符串的组成部分。 可以使用引用文字 单引号(')以避免解释。
希望它有所帮助。