我有时间(以毫秒为单位)。1308700800000
; 我需要将其转换为类似 Jun 9'11 at 02:15 PM
.
我尝试使用
SimpleDateFormat format = new SimpleDateFormat("MMM D'\''YY");
但我得到一个例外:
Caused by: java.lang.IllegalArgumentException: Unterminated quote
任何帮助将不胜感激。
我有时间(以毫秒为单位)。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")
不需要涉及反斜杠。
尝试:
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 是对的,但 Caps D 和 Y 对你不起作用。阅读文档,但这应该有效:
SimpleDateFormat format = new SimpleDateFormat("MMM d''yy 'at' HH:mm:ss z")