Очень просто, используя строковый формат
на .ToSTring("") :
если вы используете «чч» - >> Час в 12-часовом формате от 01 до 12.
если вы используете «ЧЧ» - >> Час в 24-часовом формате от 00 до 23.
если добавить "tt" - >> Обозначение Am / Pm.
Пример преобразования с 23:12 до 23:12:
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 м
م означает Вечер (первое письмо مساء).
в другой системной культуре зависит от того, что установлено в региональных и языковых параметрах Windows, будет отображаться // 23:12 du.
вы можете переключаться между разными форматами на панели управления 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 => с использованием английского формата по умолчанию.
еще один вопрос. Я хочу, чтобы вечера были на арабском или определенном языке, даже если я использую для Windows региональный формат на английском (или другом языке)?
Сюжет для арабского образца:
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?