Дуже просто, використовуючи формат рядка
на .ToSTring("") :
якщо ви використовуєте "hh" - >> Година, використовуючи 12-годинний годинник з 01 до 12.
якщо ви використовуєте "HH" - >> Година, використовуючи цілодобовий годинник з 00 до 23.
якщо додати "tt" - >> Позначник Am / Pm.
приклад перетворення з 23:12 до 11:12 Pm:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("hh:mm tt");
var res2 = d.ToString("HH:mm");
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
зачекайте секунду, це ще не все, що вам потрібно, щоб піклуватися про щось інше - це система Культура, тому що той самий код, який виконується на вікнах з іншими мовами, особливо з різною культурою, створює різні результати з тим самим кодом
зразок вікон, встановлених на культуру арабської мови, буде виглядати так:
// 23:12 м
م означає Вечір (перший лист від مساء).
в іншій системі культура залежить від того, що встановлено у вікні регіональної та мовної опції, це буде показано // 23:12 дю.
Ви можете переключатись між різними форматами на панелі керування Windows під регіональною системою Windows та мовою -> поточний формат (комбобокс) та змінювати ... застосовувати це, виконувати відновлення (виконання) вашого додатка та спостерігати, про що я говорю.
так кому я можу змусити показувати слова Am та Pm англійською мовою, якщо для культури поточної системи не встановлено англійську мову?
просто, додавши два рядки: ->
перший крок додайте using System.Globalization;поверх коду
та модифікуючи попередній код таким:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.InvariantCulture);
InvariantCulture => з використанням англійського формату за замовчуванням.
ще одне запитання, я хочу, щоб pm був арабською або певною мовою, навіть якщо я використовую вікна, встановлені на регіональний формат англійської (або іншої мови)?
Суп для арабського прикладу:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.CreateSpecificCulture("ar-AE"));
це покаже // 23:12 م
подія, якщо для моєї системи встановлено формат англійської області. Ви можете змінити "ar-AE", якщо хочете на інший формат мови. є список кожної мови та її формату.
приклади: ar ar-SA арабська ar-BH ar-BH арабська (Бахрейн) ar-DZ ar-DZ арабська (Алжир) ar-EG ar-EG арабська (Єгипет)
datepicker value + TimeofDay:?