2010-09-14 74 views
23

我得到了答案: 這很簡單。如何將Joda LocalDate轉換爲Java中的字符串?

DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy"); 
String formattedDate = jodeLocalDateObj.toString(fmt); 
+42

請,當你得到正確的答案不編輯你的問題。無論如何,大家都可以在這裏看到答案。另外:如果答案對您來說是好的(足夠),請將其標記爲「答案」(使用您認爲正確的答案旁邊的楔形符號),以便海報獲得他/她應該獲得的信用它。 – Dirk 2010-09-14 13:05:57

回答

6
DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy"); 
String formattedDate = jodeLocalDateObj.toString(fmt); 
42

雖然你已經找到了答案會的工作,我喜歡看它倒過來,無論在哪個對象是「活動」(在格式化的條款),並且僅僅是提供資料:

LocalDate localDate = new LocalDate(2010, 9, 14); 
DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd/yyyy"); 
String formattedDate = formatter.print(localDate); 
+0

我找不到DateTimeFormat在哪裏?你是否也可以提供進口報表 – samthebest 2016-10-11 14:48:10

+0

@samthebest:你看過[Javadoc](http://www.joda.org/joda-time/apidocs/index.html)嗎?只是谷歌搜索「joda DateTimeFormat」發現它 - 但如果沒有,http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html – 2016-10-11 15:03:36

+0

糟糕,我誤解了問題,我認爲這是針對java的8次,而不是喬達。 – samthebest 2016-10-12 15:24:52

82

LOCALDATE的toString可以直接採取格式化字符串,這樣你就可以跳過創建DateTimeFormatter:

String formattedDate = myLocalDate.toString("MM/dd/yyyy"); 

http://joda-time.sourceforge.net/apidocs/org/joda/time/LocalDate.html#toString(java.lang.String)

我也寫了一個關於它的帖子在我的博客 - http://codetutr.com/2013/03/05/joda-time-how-to-parse-a-string-to-joda-localdate/

+1

這應該是正確的答案。 – BinaryShrub 2015-01-09 05:07:59

+0

每次調用它時,toString(string_format)會創建它自己的DateTimeFormatter實例嗎?如果是這樣,那麼執行一堆轉換的方法如果創建自己的實例並通過調用格式化程序的print()方法重用,則效率會更高。 – Rick 2015-09-16 18:48:45

+1

@Rick有趣的是,內部Joda(至少2.3)管理線程安全模式緩存。它僅在第一次創建自己的DateTimeFormatter實例,並在每次下一次調用時重用它。 – Stephan 2016-04-01 17:31:48

相關問題