Получить информацию о формате даты для локали компьютера в C#

Объект System.Globalization namespace's InstalledUICulture предоставляет множество статических методов, предоставляющих информацию о численном, дате и времени форматирования для локали компьютера. Этот пример добавляет кучу этих значений в элемент управления ListView.

Следующий код показывает, как программа добавляет несколько значений.

private void Form1_Load(object sender, EventArgs e)
{
    // Сохраним культуру (чтобы сделать следующий код короче).
    CultureInfo info = CultureInfo.InstalledUICulture;

    // День / Месяц.
    AddHeader("Day/Month:");
    AddArrayItems("Day",
        info.DateTimeFormat.DayNames);
    AddArrayItems("Abbrev Day",
        info.DateTimeFormat.AbbreviatedDayNames);
    AddArrayItems("Short Days",
        info.DateTimeFormat.ShortestDayNames);
    AddArrayItems("Month",
        info.DateTimeFormat.MonthNames);
    AddArrayItems("Abbrev Month",
        info.DateTimeFormat.AbbreviatedMonthNames);

    // Значения даты / времени.
    AddHeader("Date/Time Format:");
    AddItem("AMDesignator",
        info.DateTimeFormat.AMDesignator);
    AddItem("DateSeparator",
        info.DateTimeFormat.DateSeparator);
    AddItem("FirstDayOfWeek",
        info.DateTimeFormat.FirstDayOfWeek.ToString());
    AddItem("FullDateTimePattern",
        info.DateTimeFormat.FullDateTimePattern);
    ...
    lvwValues.AutoResizeColumns(
        ColumnHeaderAutoResizeStyle.ColumnContent);
}

Следующие вспомогательные методы добавляют разные типы значений в элемент управления ListView.

// Добавить строку заголовка.
private void AddHeader(string name)
{
    ListViewItem lvi = lvwValues.Items.Add(name);
    lvi.BackColor = Color.Pink;
}

// Добавьте значение к результату.
private void AddItem(string name, string value)
{
    ListViewItem lvi = lvwValues.Items.Add(name);
    lvi.SubItems.Add(value);
}

// Добавить все значения в массив.
private void AddArrayItems(string name, string[] values)
{
    for (int i = 0; i < values.Length; i++)
        AddItem(name + "[" + i + "]", values[i]);
}

// Добавить все значения в целочисленном массиве.
private void AddIntegerArrayItems(string name, int[] values)
{
    for (int i = 0; i < values.Length; i++)
        AddItem(name + "[" + i + "]", values[i].ToString());
}
 // Добавить строку заголовка.
private void AddHeader (имя строки)
{
     ListViewItem lvi = lvwValues.Items.Add (имя);
     lvi.BackColor = Color.Pink;
}

// Добавьте значение к результату.
private void AddItem (имя строки, строковое значение)
{
     ListViewItem lvi = lvwValues.Items.Add (имя);
     lvi.SubItems.Add (значение);
}

// Добавить все значения в массив.
private void AddArrayItems (имя строки, строка [])
{
     for (int i = 0; i & lt; values.Length; i ++)
         AddItem (name + "[" + i + "]", значения [i]);
}

// Добавить все значения в целочисленном массиве.
private void AddIntegerArrayItems (имя строки, int [])
{
     for (int i = 0; i & lt; values.Length; i ++)
         AddItem (name + "[" + i + "]", значения [i] .ToString ());
}  

...

Метод AddItem создает ListViewItem, удерживая имя параметра и подпункт, удерживающий значение параметра.

Метод AddArrayItems создает заголовок, а затем проходит через параметр, который является массивом, вызывая AddItem, чтобы отображать элементы массива. Если вы посмотрите на картинку в верхней части сообщения, вы увидите неожиданное пустое значение в конце аббревиатуры месяца. В конце массива полных имен месяцев есть соответствующее пустое значение.

Наконец, метод AddIntegerArrayItems работает так же, как AddArrayItems, но он отображает целочисленные значения.

Источник: http://csharphelper.com/blog/2016/01/get-date-format-information-for-the-computers-locale-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector