Дуже просто, використовуючи формат рядка
на .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"); // this show 11:12 Pm
var res2 = d.ToString("HH:mm"); // this show 23:12
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
зачекайте секунду, що не все, що вам потрібно подбати про щось інше, - це система Culture, тому що той самий код, виконаний на Windows з іншим ланцюгом, особливо з диференційованою культурою, створюватиме різні результати з тим самим кодом
Приклад вікон, встановлених на арабську культуру багажу, покаже так:
// 23:12 م
م означає Вечір (перший летер від مساء).
в іншій системній культурі залежать від того, що встановлено в регіональному і мовному варіанті Windows, це покаже // 23:12 du.
ви можете змінювати різний формат на панелі керування 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); // this show 11:12 Pm
InvariantCulture => використовуючи англійський формат за замовчуванням.
ще одне питання: я хочу, щоб вечір був арабською або певною мовою, навіть якщо я використовую вікна, встановлені в англійському (або іншій мові) регіональному форматі?
Суспіт для арабського прикладу:
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