我想知道.NET中是否有内置功能可用于以支持名词尾数的语言来减少日期,
(即,俄语中的月份名称为февраль,但是如果我想说出日期或说是到期日期,则可以使用февраля形式)。我制作了自己的版本,适用于这种情况,但是我需要扩展到其他情况和其他语言,它们对日期会有自己的偏斜。

此功能是内置功能还是在外部库中可用?感谢您的任何帮助。

如果我的解释不清楚,我已经提供了我的功能。

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

最佳答案

在两种情况下,您可以获取月份的名称:主格:

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

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

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

不支持其他情况(例如“Dative”,“Accusative”),我们必须手动实现。

关于c# - C#中是否有内置的月份名称下降,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42132299/

10-12 14:09