我有時間以毫秒爲例。 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
任何幫助將高度讚賞。
從異常消息中可以明顯地看出問題將出現在格式字符串中,特別是單引號部分。
望着documentation,我們可以看到:
文本可以使用單引號('),以避免解釋被引用。 「''」代表單引號。
因此,我相信您的格式(該日期的部分,按照現有的例子),可以很簡單的
new SimpleDateFormat("MMM d''yy")
應該沒有必要涉足反斜槓。
'java.lang.IllegalArgumentException:非法模式字符'Y'' – oliholz
對不起,我主要關注撇號的語法問題,並通過對比的方式將它們插入到現有格式中。爲了使這個複製和粘貼的答案,我已經更新了一天和一年的參數的情況。 –
根據Grooveek的建議,D和Y的上限不起作用,這樣做的伎倆是SimpleDateFormat format = new SimpleDateFormat('hm:mm aaa「上的」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
安傑是正確的,但帽d和Y不會爲你工作。閱讀文檔,但 應該工作:
SimpleDateFormat format = new SimpleDateFormat("MMM d''yy 'at' HH:mm:ss z")
SimpleDateFormat format = new SimpleDateFormat(「'hh:mm aaa」處的'MMM d''yy');做了訣竅.. –
請添加一些代碼和完全異常跟蹤 – fmucar
http://joda-time.sourceforge.net/辦理日期和時間,會讓你的生活變得更輕鬆java – NimChimpsky