¿Hay declinaciones de nombre de mes incorporadas en C#


Me pregunto si hay alguna funcionalidad incorporada en. NET para fechas declinantes en idiomas que admiten declinaciones de sustantivos, (IE. En ruso el nombre del mes es февраль, pero si quisiera decir la fecha o decir que algo se debe, usaría el formulario февраля). Hice mi propia versión, que funciona para este caso, pero tendré que ampliar a otros casos, y otros idiomas, que tendrán sus propias declinaciones para las fechas.

Es esta funcionalidad incorporada, o disponible en un biblioteca externa? Gracias por cualquier ayuda.

He proporcionado mi función para el caso genitivo ruso, si mi explicación no era clara.

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

1 answers

Puede obtener nombres de meses en dos casos, Nominativo :

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

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

Y Genitivo:

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

Otros casos (por ejemplo, Dativo, Accusative) no son compatibles y tenemos que implementarlos manualmente.

 56
Author: Dmitry Bychenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-10 00:39:20