문자열 형식을 사용하여 매우 간단합니다.
의 위에 .ToSTring("") :
"hh"를 사용하는 경우->> 01에서 12까지의 12 시간 시계를 사용하는 시간입니다.
"HH"를 사용하는 경우->> 00부터 23까지의 24 시간 시계를 사용하는 시간입니다.
"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");
var res2 = d.ToString("HH:mm");
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
다른 언어를 사용하는 Windows에서 실행되는 동일한 코드, 특히 다른 문화 언어를 사용하는 창에서 실행되는 동일한 코드가 동일한 코드로 다른 결과를 생성하기 때문에 다른 것에 대해 신경 쓸 필요가없는 것은 시스템 문화입니다.
아랍어 언어 문화로 설정된 창의 예는 다음과 같이 표시됩니다.
// 23:12 م
م는 저녁 (مساء의 첫 번째 문자)을 의미합니다.
다른 시스템 문화에서 Windows 지역 및 언어 옵션에 설정된 내용에 따라 // 23:12 du가 표시됩니다.
Windows 제어판의 Windows 지역 및 언어-> 현재 형식 (콤보 박스)에서 다른 형식으로 변경할 수 있으며 변경 ... 적용하여 앱을 다시 빌드 (실행)하고 iam이 말하는 내용을 볼 수 있습니다.
그렇다면 현재 시스템의 문화가 영어로 설정되지 않은 경우 영어 이벤트에서 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 => 기본 영어 형식 사용.
영어 (또는 다른 언어) 지역 형식으로 설정된 창을 사용하더라도 오후를 아랍어 또는 특정 언어로 만들고 싶습니다.
아랍어 예를위한 Soution :
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있습니까? 예 : ?