2014-09-03 147 views
4

我很新的喬達API和我有這樣調用:如何使用JodaTime將本地時間轉換爲am/pm時間格式?

LocalTime time = new LocalTime("13"); 

它打印爲:13:00:00.000

我希望我能像這樣顯示它:1:00 PM

我該如何做到這一點?

在此先感謝

+0

複製? http://stackoverflow.com/questions/18734452/display-current-time-in-12-hour-format-with-am-pm – theMarceloR 2014-09-03 13:48:40

+0

@ theMarceloR不是重複。你鏈接到的是使用'SimpleDateFormat'而@batman詢問有關JodaTime – Freiheit 2014-09-03 13:50:17

+0

好吧,我站在糾正,這是我的upvote @batman。順便說一句,我是一個巨大的粉絲。 – theMarceloR 2014-09-03 13:55:40

回答

1

嘗試以下操作:

DateTimeFormatter builder = DateTimeFormat.forPattern("hh:mm:ss.SSa"); 
+0

它給我一個錯誤:線程「主」java.lang.IllegalArgumentException異常:無效格式:「09:00:00.000」在新的LocalTime(「9」)爲「0」格式錯誤,當我調用builder.parseLocalTime (time.toString()) – batman 2014-09-03 13:58:34

+0

@batman爲什麼你現在要解析?在你的問題中,你談論格式/打印,這個答案就足夠了。如果你想分析另一種格式的字符串,那麼你當然需要另一種模式。 – 2014-09-03 15:01:57

+2

@StackFlowed我不喜歡「比你更知識的守門員」的態度。 btwn文檔和知識有所不同。這就是爲什麼課程與教師和書籍一起教授的原因。 – ekeyser 2015-06-26 18:16:20

2

我這樣做:

LocalTime time = new LocalTime("13");  
    DateTimeFormatter fmt = DateTimeFormat.forPattern("h:mm a"); 
    String str = fmt.print(time); 

,並獲得此輸出STR:

"1:00 PM" 
+0

給了我這樣的錯誤拋出一個錯誤:線程「主」java.lang.IllegalArgumentException異常:無效的格式:「09:00:00.000」在新的LocalTime(「9」)「0」我調用builder.parseLocalTime(time.toString()) – batman 2014-09-03 14:18:48