Sprache: C#
Ich weiß nicht ob es irgendeinen anderen/besseren Weg gibt und weil die Methode doch eher lang ist und früher oder später braucht man sie doch… :P
[code]string month = MonthToShortString(12, Language.Deutsch);[/code]
setzt month auf "Dez"!
[code]string month = MonthToShortString(5, Language.English);[/code]
setzt month auf "May"
Natürlich kann man:
1. Weitere Sprachen hinzufügen ;)
2. Die Sprachen ändern
3. Eine Sprache entfernen
4. Die Methode auf Ganze Namen umformen
[Edit]: Also es gibt einen besseren Weg:
Von Jan in den Kommentaren. Ich habs nicht getestet, aber vertrau ihm einfach mal..
enum Language {Deutsch, English};
private string MonthToShortString(int month, Language l)
{
string strMonth = String.Empty;
switch (month)
{
case 1:
strMonth = "Jan";
break;
case 2:
strMonth = "Feb";
break;
case 3:
switch (l)
{
case Language.Deutsch:
strMonth = "Mär";
break;
case Language.English:
strMonth = "Mar";
break;
}
break;
case 4:
strMonth = "Apr";
break;
case 5:
switch (l)
{
case Language.Deutsch:
strMonth = "Mai";
break;
case Language.English:
strMonth = "May";
break;
}
break;
case 6:
strMonth = "Jun";
break;
case 7:
strMonth = "Jul";
break;
case 8:
strMonth = "Aug";
break;
case 9:
strMonth = "Sep";
break;
case 10:
switch (l)
{
case Language.Deutsch:
strMonth = "Okt";
break;
case Language.English:
strMonth = "Oct";
break;
}
break;
case 11:
strMonth = "Nov";
break;
case 12:
switch (l)
{
case Language.Deutsch:
strMonth = "Dez";
break;
case Language.English:
strMonth = "Dec";
break;
}
break;
}
return strMonth;
}
enum Language {Deutsch, English};
private string MonthToShortString(int month, Language l)
{
string strMonth = String.Empty;
switch (month)
{
case 1:
strMonth = "Jan";
break;
case 2:
strMonth = "Feb";
break;
case 3:
switch (l)
{
case Language.Deutsch:
strMonth = "Mär";
break;
case Language.English:
strMonth = "Mar";
break;
}
break;
case 4:
strMonth = "Apr";
break;
case 5:
switch (l)
{
case Language.Deutsch:
strMonth = "Mai";
break;
case Language.English:
strMonth = "May";
break;
}
break;
case 6:
strMonth = "Jun";
break;
case 7:
strMonth = "Jul";
break;
case 8:
strMonth = "Aug";
break;
case 9:
strMonth = "Sep";
break;
case 10:
switch (l)
{
case Language.Deutsch:
strMonth = "Okt";
break;
case Language.English:
strMonth = "Oct";
break;
}
break;
case 11:
strMonth = "Nov";
break;
case 12:
switch (l)
{
case Language.Deutsch:
strMonth = "Dez";
break;
case Language.English:
strMonth = "Dec";
break;
}
break;
}
return strMonth;
}
Alte URL:
/snippet/monat-zahl-zu-gekuerztem-string/1681
Hallo Darius,
hier etwas kürzer:
[code]private string MonthToShortString(int month, CultureInfo culture)
{
if (month < 1 || month > 12) throw new ArgumentException(„Invalid month.“);
Thread.CurrentThread.CurrentCulture = culture;
return new DateTime(2013, month, 1).ToString(„MMM“);
}[/code]
[u]Beispielaufrufe:[/u]
Console.WriteLine(MonthToShortString(1, new CultureInfo(„de-DE“)));
Console.WriteLine(MonthToShortString(1, new CultureInfo(„en-US“)));
Cool.. Danke 😀 Bin nicht so der Pro.. Aber ich probier mal ^^das^^.
🙂