Bardzo proste dzięki zastosowaniu formatu string
na .ToSTring("") :
jeśli używasz „hh” - >> Godzina, używając zegara 12-godzinnego od 01 do 12.
jeśli używasz „HH” - >> Godzina, używając zegara 24-godzinnego od 00 do 23.
jeśli dodasz "tt" - >> Oznacznik Am / Pm.
przykład konwersji z 23:12 na 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();
poczekaj sekundę, to nie wszystko, czego potrzebujesz, aby przejmować się czymś innym, to kultura systemu, ponieważ ten sam kod wykonywany w systemie Windows z innym językiem, szczególnie z innym językiem kultury, wygeneruje inny wynik z tym samym kodem
przykład okien ustawionych na kulturę języka arabskiego będzie wyglądał następująco:
// 23:12 م
م oznacza Wieczór (pierwsza litera مساء).
w innej kulturze systemowej zależy od tego, co jest ustawione w opcji regionalnej i językowej systemu Windows, pokaże // 23:12 du.
możesz zmieniać między różnymi formatami w panelu sterowania Windows pod Windows regionalny i język -> aktualny format (combobox) i zmienić ... zastosuj, przebuduj (uruchom) swoją aplikację i zobacz, o czym mówię.
więc kto mogę wymusić wyświetlanie słów Am i Pm w języku angielskim, jeśli kultura obecnego systemu nie jest ustawiona na język angielski?
łatwe, po prostu dodając dwie linie: ->
pierwszy krok dodaj using System.Globalization;na górze swojego kodu
i modyfikując Poprzedni kod tak, aby wyglądał następująco:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.InvariantCulture);
InvariantCulture => używając domyślnego formatu angielskiego.
kolejne pytanie Chcę, aby PM było w języku arabskim lub w określonym języku, nawet jeśli używam systemu Windows ustawionego na angielski (lub inny język) w formacie regionalnym?
Soution na przykład arabski:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.CreateSpecificCulture("ar-AE"));
to pokaże // 23:12 م
zdarzenie, jeśli mój system jest ustawiony na format regionu angielskiego. możesz zmienić „ar-AE”, jeśli chcesz na inny format języka. istnieje lista każdego języka i jego formatu.
przykłady: ar ar-SA arabski ar-BH ar-BH arabski (Bahrajn) ar-DZ ar-DZ arabski (Algieria) ar-EG ar-EG arabski (Egipt)
datepicker value + TimeofDay?