Получить информацию о формате даты для локали компьютера в 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, но он отображает целочисленные значения.