Wie man kurzer name des Monats, von ausgeschriebener name des Monats?
Ich brauche, um die der kurze name des Monats für den vollen Monat name.
Beispielsweise
DateTime.Now.ToString("MMMM", CultureInfo.CurrentCulture);
this returns - "agosto"
DateTime.Now.ToString("MMM", CultureInfo.CurrentCulture);
this returns - "ago."
Diese beiden codes funktioniert nur für den aktuellen Monat. Ich brauche, um die der kurze name des Monats für alle Monate.
Wenn ich "agosto"
, sollte es wieder "ago."
. Wie könnte ich das erreichen?
Schleife über die Monate?
"Diese beiden codes funktioniert nur für den aktuellen Monat. Ich brauche, um die der kurze name des Monats für alle Monate." - so eine Art von Schleifenkonstrukt scheint angemessen...
und füllen Sie eine hashmap wie Struktur (Wörterbuch IIRC)
Es ist wahrscheinlich viel einfacher zu erstellen Sie einfach ein Wörterbuch oder eine Klasse, die beiden Teile und wird wieder das gewünschte Ergebnis, es werden nur 12 Einträge, so sollte nicht zu aufwendig ist
"Diese beiden codes funktioniert nur für den aktuellen Monat. Ich brauche, um die der kurze name des Monats für alle Monate." - so eine Art von Schleifenkonstrukt scheint angemessen...
und füllen Sie eine hashmap wie Struktur (Wörterbuch IIRC)
Es ist wahrscheinlich viel einfacher zu erstellen Sie einfach ein Wörterbuch oder eine Klasse, die beiden Teile und wird wieder das gewünschte Ergebnis, es werden nur 12 Einträge, so sollte nicht zu aufwendig ist
If I give "agosto", it should return "ago.". How could I achieve this?
Ich glaube, der OP will eine Funktion zum analysieren der Monat der volle name in der Abkürzung.InformationsquelleAutor WP_Insane | 2014-08-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alternative zu Soner's Antwort, dass nicht eine Schleife verwenden:
+1
, Yeap das scheint besser als meins.Vielleicht zwischen uns, wir bekommen so viele upvotes als die völlig falschen Antworten...
InformationsquelleAutor Rawling
Diesem Weg versuchen
CurrentCulture
. Ich verstehe nicht, warum Sie verwendet werdenen-US
Kultur.Sorry, wenn deine Antwort dint bekommen upvotes.:P .. Eigentlich meine Antwort war nur ein Beispiel. Ich verwendet, US-Englisch als Kultur. OP kann versuchen, die gleiche Ansatz für die CurrentCulture.
Immer upvote ist nicht der Punkt. Der Punkt ist; versuchen Sie, geben die richtige Antwort. Das man nicht einmal Antwort auf die Frage an alle.
InformationsquelleAutor Kamlesh Arya
Dann können Sie
DateTimeFormatInfo.MonthNames
wie;Und dann kann es nennen wie
GetAbbreviatedFromFullName("agosto")
;foreach
und Vergleich, wenn Sie den vollständigen Namen im parameter. Verwenden Sie einfach es ...Ich denke, das ist verständlicher für OP zu, wie man diese Werte. Wenn Sie sich für eine sauberere/bessere Lösung, check Rawling Antwort als gut.
InformationsquelleAutor Soner Gönül
Wenn ich verstehe deine Frage richtig, du willst zu übergeben, eine Funktion Monat den vollen Namen bekommen, und der Monat ist kurz name?
Diese Methode übernimmt die MonthLongName übergeben, ist ein Gültiger Monatsname in der aktuellen Kultur.
Wenn es nicht ist, wird eine Ausnahme geworfen. Wenn das noch eine Möglichkeit sein, einige der Validierung.
Code entliehen diese Antwort
MonthLongName
ist keine gültige vollständige name des Monats, der seineCurrentCulture
.In der Tat wird es. Ich werde aktualisieren, meine Antwort zu gehören, die Leckerbissen.
hinzufügen eines
try catch
und es wird perfekt sein.Ich habe absichtlich Links der try/catch aus, für dieses Beispiel, weil es muss eine Validierung durchgeführt irgendwo, unabhängig davon, ob Sie innerhalb dieser Funktion oder nicht. Auch wenn wir wieder ein
String.Empty
im Fang, die OP würde behandeln müssen, die in seinem code.InformationsquelleAutor silencedmessage
Wenn Sie möchten, dass alle Monatsnamen könnte man etwas wie folgt:
Hi Christian, vereinbart aber es kommt auf die Nutzung Fall. Wenn s/er braucht, um füllen Sie eine dropdown-Liste wählen Sie einen Monat und dann wie ein Ansatz, der gut funktionieren würde. d.h. mit dem aktuellen Monat als die erste option.
Also, das wird die abgekürzte Namen startet ab jetzt. Was dann? Was ist der Punkt? Keine Antwort auf Frage an alle.
InformationsquelleAutor Lee
CultureInfo
bereits arrays, die sowohl vollen und abgekürzten Monatsnamen:InformationsquelleAutor David Clarke
Ich lief in das gleiche problem, und ich möchte hinzufügen, meine Lösung (basierend auf @Rawling ' s Antwort)auf Vollständigkeit.
Da brauchte ich die Konvertierung in XAML schrieb ich die folgenden Konverter.
Da ich nicht hinzufügen möchten, Monate und Tage zu den Ressourcen, die Umwandlung geht von Unveränderlichen lange (das habe ich in der "Tag" der XAML-element), um die kurze Gegenwärtigen Kultur (im folgenden "Inhalte") und spart somit zusätzliche übersetzungen
Ich habe auch einen Konverter für die Wochentage entlang der gleichen Linien.
}
InformationsquelleAutor Markus Deibel
DateTime.Nun.ToString("dd MMM yyyy");
dieser zurück - "agosto";
DateTime.Nun.ToString("dd MMM yyyy");
dieser zurück - "vor.";
InformationsquelleAutor vikas
Sorry für die nur die code. Was ich verstehe ist, Sie wollen von long month name zu kurz, in jedem Monat des Jahres. Also, ich gab ein Beispiel zum hinzufügen einer Konstante Datum "Dat" - variable. Und dann, stellen Sie "for-Schleife". Bitte überprüfen Sie den code, dass ich bearbeitet habe.
InformationsquelleAutor Kyaw Wanna