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";
}