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