Hier ist mein Code, der eine Joda Zeit Fehler zeigt:Work-around für einen Joda Time Bug in PeriodFormat?
import org.joda.time.Period;
import org.joda.time.format.PeriodFormat;
import org.joda.time.format.PeriodFormatter;
import java.util.Locale;
public class ScratchSpace {
public static void main(String[] args) {
Locale.setDefault(Locale.GERMAN);
final PeriodFormatter periodFormatter =
PeriodFormat.wordBased(Locale.ENGLISH);
final Period period = new Period(6, 5, 4, 3);
final String s = period.toString(periodFormatter);
// i'm expecting english to be outputted
System.out.println("s = " + s); // outputs german: 6 Stunden, 5 Minuten, 4 Sekunden und 3 Millisekunden
}
}
den JavaDocs Laut ich in Englisch formatiert die Zeit immer sein sollte. Es wird stattdessen das aktuelle Standardgebietsschema verwendet, das im obigen Beispiel Deutsch ist.
Ich verwende Joda Time 2.0 auf Mac OS X 10.7, wobei der Computer auf "Australian English" als bevorzugte Sprache eingestellt ist.
Irgendwelche einfachen Umgehungsarbeiten, die Sie vorschlagen können?
@Phani, ich möchte die Periode in Englisch formatiert (für locale-agnostic Protokollierung). Es erscheint auf Deutsch, wenn das Standardgebietsschema Deutsch ist. Ich will kein Deutsch. –
versuchen Sie es mit Locale (Locale.ENGLISH) .toString(); – Phani