Wie kann ich ein DateTime
-Objekt zu einem String im standardmäßigen Datetime-Format des Geräts formatieren, wenn ein PCL Xamarin.Forms-Projekt ausgeführt wird und meine Implementierungsziele iOS, Android und Windows umfassen.
Das DateTime.ToShortString()
funktioniert nicht gemäß der MSDN-Anforderung gemäß diesem thread und dieser Fehler .
Gibt es eine formularbasierte Lösung oder muss ich sie von plattformspezifischen Projekten beziehen?
Für Android kann ich Folgendes aus Nativem Projekt mit DI:
machen %Vor%ODER ich kann das auch benutzen (die C # Version des folgenden Codes):
%Vor%Sehen Sie sich diese SO Frage an, um zu verstehen die Anforderung klarer (es ist nur für Android, ich will es für alle Plattformen, da dies eine Xamarin.Forms Frage ist).
Da die DatePicker
und TimePicker
in Xamarin Forms das Datum und die Uhrzeit im Geräteformat anzeigen, hoffe ich, dass es einen Weg gibt, es in der PCL zu bekommen.
Außerdem gibt es eine Device
-Klasse in PCL, die Informationen wie Plattformen, Idiom usw. enthält.
Da ich keine PCL-Implementierung finden konnte, verwendete ich DI, um die Anforderung zu implementieren.
Verwendung in PCL:
%Vor%PCL:
%Vor%Android:
%Vor%iOS:
%Vor%Windows:
%Vor%Hilfsmethode:
%Vor%Mit der aktuellen Version von Xamarin Forms können Sie versuchen:
%Vor%Dies gibt das Datum in einem Format an, das für das Gebietsschema des Geräts spezifisch ist und plattformübergreifend funktioniert.
Alternativ:
%Vor%Für bestimmte Formate kann Folgendes versucht werden:
%Vor%Der erste und der letzte sehen ziemlich cool für mich aus. Aber nur die zweite und die dritte Option funktionieren mit PCL.
Tags und Links c# datetime xamarin.forms xamarin datetime-format