Ich habe lange versucht, eine Antwort auf diese Frage zu bekommen. Ich habe mir auch folgenden Link angesehen: Android - DatePicker Widget Format . Auf meinem Telefon / Emulator (v 2.3.3) verwenden sowohl das DatePicker-Widget als auch der Dialog nicht das in den Einstellungen angegebene Datumsformat (Einstellungen- & gt; Datum & amp; Zeit- & gt; Datumsformat auswählen). Sie haben immer das Format "MM / TT / JJJJ". Das Gebietsschema ist auf Englisch UK eingestellt.
Ich bekomme "d / MM / jjjj", wenn ich die Einstellungen mit:
lese Settings.System.getString(getContentResolver(), Settings.System.DATE_FORMAT);
Hat jemand eine Idee, wie man das Datumsformat in einer DatePicker-Ansicht ändert?
Um das DatePicker-Format zu überschreiben, wäre es am besten, einen seiner Konstruktoren mit einer leichten Änderung des ursprünglichen Codes zu überschreiben. Sie können die ViewGroup in Code für Sie bearbeiten, aber ich würde ernsthaft darüber nachdenken, es nicht so zu machen.
inflater.inflate(R.layout.date_picker, this, true);
mit inflater.inflate(my.package.R.layout.localized_date_picker, this, true);
Diese Einstellung ist sehr spezifisch. Es ist nur für Datumsangaben gedacht, die im "Kurzformat" angezeigt werden. Solange Sie noch etwas anderes verwenden (in diesem Fall scheint der DatePicker "Medium" zu verwenden), werden diese Einstellungen ignoriert und die Standardformatierung des Gebietsschemas wird übernommen.
Ich kann bestätigen, dass die Reihenfolge der Elemente in der Datumsauswahl geändert wird, wenn Sie die Sprache des Telefons (und effektiv die Ländereinstellung) ändern. Was ich denke, bedeutet, dass ich der Aussage von Dan S nicht zustimme, dass "das System keinen Mechanismus verwendet, um den DatePicker zu lokalisieren". Wenn Sie sich den Code ansehen, können Sie sehen, dass (mindestens seit 2.1) ein reorderPickers () Methode, die genau dies tut.
Englisch:
Französisch:
Tags und Links android datepicker date-format