получить неверное название месяца для мая и марта в wpf - PullRequest
0 голосов
/ 27 мая 2019

привет Почему я неправильно понимаю название месяца? Это функция, которая будет вводить название месяца

public static System.Globalization.DateTimeFormatInfo GetDateTimeFormatInfoGregorian()
        {
            System.Globalization.DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo()
            {
                AbbreviatedDayNames = new string[] { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" },
                AbbreviatedMonthGenitiveNames = new string[] {
                        "Jan", "Feb", "Mar",
                        "Apr", "May", "Jun",
                        "Jul", "Aug", "Sep",
                        "Oct", "Nov", "Dec", "" },

               AbbreviatedMonthNames = new string[] {
                      "Jan", "Feb", "Mar",
                        "Apr", "May", "Jun",
                        "Jul", "Aug", "Sep",
                        "Oct", "Nov", "Dec", "" },

                CalendarWeekRule = System.Globalization.CalendarWeekRule.FirstDay,
                DateSeparator = "/",

                MonthDayPattern = "dd MMMM",
                MonthGenitiveNames = new string[] {
                       "Jan", "Feb", "Mar",
                        "Apr", "May", "Jun",
                        "Jul", "Aug", "Sep",
                        "Oct", "Nov", "Dec", "" },
                MonthNames = new string[] {
                        "Jan", "Feb", "Mar",
                        "Apr", "May", "Jun",
                        "Jul", "Aug", "Sep",
                        "Oct", "Nov", "Dec", ""  },

            };

            return dtFormat;
        }

Это результат enter image description here enter image description here

Как видите, май был изменен на 5a19 , а март изменен на 3ar
Почему это происходит? Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 27 мая 2019

По какой-то причине, которую я не могу объяснить, ваши AbbreviatedMonthGenitiveNames по какой-то причине вступают в конфликт ...

В любом случае вам не нужно объявлять новый массив со значениями «AbbreviatedMonthGenitiveNames», потому что вы уже определили значения для этого класса.

Я протестировал здесь эту функцию:

System.Globalization.DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo();
foreach(var name in dtFormat.AbbreviatedMonthGenitiveNames)
{
    Console.WriteLine(name);
}

И вывод был:

Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

Итак, моя точка зрения - удалить все функции массива и объявления этих переменных, потому что они уже объявлены.

После этого проверьте и попробуйте, если проблема решена.

...