37 votes

Existe-t-il des déclinaisons de noms de mois intégrées en C #?

Je me demandais si il n'y a aucune fonctionnalité intégrée dans .NET recul des dates dans les langues nom des déclinaisons, (ie. En russie, le nom du mois est - февраль, mais si je voulais dire de la date ou de dire que quelque chose est dû, je voudrais utiliser le formulaire февраля). J'ai fait ma propre version, qui travaille pour ce cas, mais j'ai besoin de l'étendre à d'autres cas, et dans d'autres langues, qui ont leurs propres déclinaisons pour les dates.

Cette fonctionnalité est intégrée, ou disponibles dans une bibliothèque externe? Merci pour toute aide.

J'ai fourni ma fonction pour le russe génitif cas, si mon explication n'était pas claire.

public static string DeclineMonth(this DateTime time)
{
    var month = time.ToString("MMMM");
    if (month.Last() == 'ь')
        return month.Replace('ь', 'я');
    else
        return month + "a";
}       

56voto

Dmitry Bychenko Points 17719

Vous pouvez obtenir des noms de mois dans deux cas, Nominatif :

 DateTimeFormatInfo info = CultureInfo.GetCultureInfo("ru-RU").DateTimeFormat;

// February: 2 - 1 (array is zero based) - "Февраль"
Console.Write(info.MonthNames[2 - 1]);
 

Et génitif :

 // February: 2 - 1 (array is zero based) - "февраля"
Console.Write(info.MonthGenitiveNames[2 - 1]);
 

D'autres cas (par exemple, datif , accusatif ) ne sont pas pris en charge et nous devons les implémenter manuellement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X