Bardzo prosty w użyciu formatu ciągu
na .ToSTring("") :
jeśli użyjesz „hh” - >> Godzina, używając 12-godzinnego zegara od 01 do 12.
jeśli użyjesz „GG” - >> Godzina, przy użyciu 24-godzinnego zegara od 00 do 23.
jeśli dodasz „tt” - >> Desygnator 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"); // this show 11:12 Pm
var res2 = d.ToString("HH:mm"); // this show 23:12
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
poczekaj sekundę, to nie wszystko, o co musisz dbać o coś innego to Kultura systemowa, ponieważ ten sam kod wykonywany w oknach z innym językiem, szczególnie z różnymi językami Język wygeneruje inny wynik z tym samym kodem
przykład okna ustawionego na arabską kulturę języka pokaże następująco:
// 23:12 م
م oznacza wieczór (pierwsza litera مساء).
w innym systemie kultura zależy od tego, co jest ustawione w opcjach regionalnych i językowych systemu Windows, wyświetli // 23:12 du.
możesz przełączać się między różnymi formatami w panelu sterowania Windows pod Windows regionalnym i językowym -> obecny format (combobox) i zmienić ... zastosuj to przebuduj (uruchom) aplikację i zobacz, o czym mówię.
więc kogo mogę wymusić wyświetlanie słów Am i Pm w języku angielskim, jeśli kultura obecnego systemu nie jest ustawiona na angielski?
łatwe, po prostu dodając dwie linie: ->
dodaj pierwszy krok using System.Globalization;
na górze kodu
i modyfikowanie poprzedniego kodu, aby wyglądał tak:
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 => przy użyciu domyślnego formatu angielskiego.
inne pytanie Chcę, aby pm było w języku arabskim lub określonym języku, nawet jeśli używam systemu Windows ustawionego na angielski (lub inny język) format regionalny?
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"));
pokaże // 23:12 م
zdarzenie, jeśli mój system jest ustawiony na format regionu angielskiego. możesz zmienić „ar-AE”, jeśli chcesz wybrać inny format językowy. istnieje lista każdego języka i jego formatu.
przykłady:
ar ar-SA Arabic
ar-BH ar-BH Arabic (Bahrain)
ar-DZ ar-DZ Arabic (Algeria)
ar-EG ar-EG Arabic (Egypt)
big list...
daj mi znać, jeśli masz inne pytanie.
DateTime
niż to. Zobacz msdn.microsoft.com/en-us/library/8kb3ddd4.aspx