c# - yyyy - string was not recognized as a valid datetime.



هل هناك انخفاضات اسم الشهر المضمنة في C# (1)

يمكنك الحصول على أسماء أشهر في حالتين ، اسمية :

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

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

و genitive :

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

الحالات الأخرى (مثل Dative ، Accusative ) غير مدعومة وعلينا تنفيذها يدويًا.

أتساءل عما إذا كانت هناك أي وظيفة مضمنة في .NET لتراجع التواريخ باللغات التي تدعم انحرافات الأسماء ، (على سبيل المثال. باللغة الروسية ، اسم الشهر هو ، февраль ، ولكن إذا أردت أن أقول التاريخ أو أقول أن هناك شيئًا مستحقًا بسبب ، أنا استخدم النموذج февраля ). لقد صنعت روايتي الخاصة التي تعمل مع هذه الحالة ، لكنني سأحتاج إلى توسيعها لتشمل حالات أخرى ولغات أخرى ، والتي سيكون لها انحرافات خاصة بها للتواريخ.

هل هذه الوظيفة مضمنة أم أنها متوفرة في مكتبة خارجية؟ شكرا لك على أي مساعدة.

لقد قدمت وظيفتي للحالة الموروثة الروسية ، إذا لم يكن تفسيري واضحًا.

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




globalization