2014-10-06 142 views
0

我有一個JodaDateTimeField對象startTime這是一個LocalTime。這意味着它包含一個小時(範圍0-23),一分鐘(0-59)和第二個(0-59)。喬達時間混淆將DateTimeField轉換爲文本/字符串

現在當我打電話給我的方法: startTime.getChronology().hourOfDay().getAsShortText(int fieldValue, Locale l) 我有點困惑; Locale我明白了,但是當我查找DateTimeField API here 時,沒有真正的解釋我應該爲fieldValue輸入什麼。

是否有文檔描述哪個整數引用哪個fieldValue?

現在;我已經試過只是在做startTime.getChronology().hourOfDay().toString()這不起作用。它只是返回這個文本:DateTimeField[hourOfDay]

回答

0

按照您自己給出的文檔鏈接,參數fieldValue僅被描述爲關聯字段的數值。在你的情況下,它是一天中的時間值,因此是0到23之間的任何數字。

據我所知,方法getAsShortText(...)將不會真正產生一小時的文本,但只是以字符串形式產生數字。這種方法是專爲那些真正擁有特殊文本形式的領域而設計的,比如月份或工作日。舉例證明你的方法的瑣碎(代碼是毫無意義的任何使用情況下):

LocalTime time = new LocalTime(14, 45, 30); 
String text = time.getChronology().hourOfDay().getAsShortText(12, Locale.FRENCH); 
System.out.println("Hour-of-day 12 as text: " + text); 
// output: Hour-of-day 12 as text: 12 

也許你困惑是因爲你心目中的java.util.Calendar JDK級領域的常量,但該領域的常量表示場標識符,而不是字段值。在Joda-Time中,DateTimeField-對象可以實現相同的功能(即識別字段)。

相關問題