我想知道.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/