我的时间以毫秒为单位,例如1308700800000
;我需要将其转换为类似Jun 9'11 at 02:15 PM
的内容。
我试过使用
SimpleDateFormat format = new SimpleDateFormat("MMM D'''YY");
但我有一个例外:
Caused by: java.lang.IllegalArgumentException: Unterminated quote
如有任何帮助,我们将不胜感激。
从异常消息中可以清楚地看出,问题在于您的格式字符串,尤其是单引号部分。
查看文档,我们可以看到:
可以使用单引号(')引用文本以避免解释。"''"表示单引号。
因此,我相信你的格式(对于日期部分,根据你现有的例子)可以像一样简单
new SimpleDateFormat("MMM d''yy")
应该不需要使用反斜杠。
try:
import java.util.*;
import java.text.*;
class D {
public static void main( String ... args ) {
System.out.println(
new SimpleDateFormat("MMM dd''yy")
.format( new Date( 1308700800000L ))
);
}
}
打印:
Jun 21'11
Andrzej是对的,但大写字母D和Y不适合你。阅读文档,但是应该有效:
SimpleDateFormat format = new SimpleDateFormat("MMM d''yy 'at' HH:mm:ss z")