Очень просто, используя формат строки
на .ToSTring("") :
если вы используете «чч» - >> Час, используя 12-часовые часы от 01 до 12.
если вы используете «ЧЧ» - >> Час, используя 24-часовые часы с 00 до 23.
если вы добавите "tt" - >> Обозначение Am / Pm.
пример преобразования из 23:12 в 11:12 вечера:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("hh:mm tt"); // this show 11:12 Pm
var res2 = d.ToString("HH:mm"); // this show 23:12
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
подождите секунду, но это не все, что вам нужно, чтобы позаботиться о чем-то другом, это системная культура, потому что тот же код, выполняемый в Windows с другим языком, особенно с другим языком культуры, даст другой результат с тем же кодом
Пример набора окон для арабского языка покажет так:
// 23:12 م
م означает вечер (первый текст مساء).
В другой системе культура зависит от того, какие региональные настройки и языковые настройки установлены в Windows, и будет отображаться // 23:12 du.
Вы можете переключаться между различными форматами на панели управления Windows в Windows регион и язык -> текущий формат (комбинированный список) и изменить ... применить его, сделать перестройку (выполнить) вашего приложения и посмотреть, о чем идет речь.
Итак, кого я могу заставить показывать Am и Pm Words на английском языке, если культура текущей системы не установлена на английский?
просто добавив две строки: ->
первый шаг добавить using System.Globalization;
поверх вашего кода
и модифицируем предыдущий код так:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.InvariantCulture); // this show 11:12 Pm
InvariantCulture => используя английский формат по умолчанию.
другой вопрос, я хочу, чтобы вечера были на арабском или конкретном языке, даже если я использую окна, настроенные на английский (или другой язык) региональный формат?
Soution for Arabic Exemple:
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 Arabic
ar-BH ar-BH Arabic (Bahrain)
ar-DZ ar-DZ Arabic (Algeria)
ar-EG ar-EG Arabic (Egypt)
big list...
сообщите мне, если у вас есть другой вопрос.
DateTime
чем это. См. Msdn.microsoft.com/en-us/library/8kb3ddd4.aspx