2016-06-01 16 views
2

Ich habe die Standard-Datetime-Formatierungen gelesen, die C# bietet, und ich kann anscheinend keine finden, die meinen Anforderungen für "Kurzes Datum" entspricht: "4. Mai, 2013 ". Ich weiß, dass ich ein benutzerdefinierte Format-String tun kann, um das Ziel zu erreichen:Anzeigeäquivalent von "MMM d, yyyy" in der aktuellen Kulturinfo

myDateTimeOffset.ToString("MMM d, yyyy"); 

jedoch diese Anwendung in anderen Länder geht. Gibt es eine Möglichkeit, das aktuelle Kulturäquivalent zu einer bestimmten Formatzeichenfolge zu erhalten?

Und muss es sich an ein äquivalentes "kurzes Datumsformat" in der fremden Kultur anpassen?

+2

Ich denke, das ist der Punkt der Standardformate. Ich bin sicher, dass sie darüber nachgedacht haben, welches Format zu "allgemein", "lang" etc. passt. – Plutonix

+0

Anders als die Monatsnamen genau, wie würden Sie erwarten, dass dieses Format auf Kultur basiert? – juharr

+0

@juharr Die Reihenfolge, vielleicht ... '4 Mayo 2013' – Seafish

Antwort

0

Ich glaube nicht, dass es eine Standardformatoption gibt, die in Ihrer spezifischen Anforderung verbackt ist (D kann nahe kommen). Ich habe diese Übersicht in meinen Lesezeichen seit mehr als 10 Jahren, und ich finde es immer noch nützlich: http://samples.pdmlab.com/

Wie auch immer, wie Ihre App möglicherweise nicht für eine unendliche Anzahl von Sprachen verfügbar ist, denke ich, dass Ihre beste Wahl sein wird Verwenden Sie eine Art der DateTime-Erweiterungsmethode und formatieren Sie sie abhängig von der tatsächlich verwendeten Sprache, wenn dies sogar erforderlich ist.

+0

Wir planen nun, die entsprechenden Datumsformatzeichenfolgen in resx-Dateien einzufügen, die dann lokalisiert werden und die korrekte Datumsformat-Zeichenkette basierend auf der CultureInfo abgerufen wird. – Seafish