文字列形式を使用することで非常に簡単
オン .ToSTring("") :
「hh」を使用する場合->> 01から12までの12時間制を使用する時間。
「HH」を使用する場合->> 00から23までの24時間時計を使用する時間。
「tt」を追加した場合->> Am / Pm指定子。
23:12から11:12Pmへの変換の例:
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:12duと表示されます。
Windowsの地域と言語->現在の形式(コンボボックス)の下のWindowsコントロールパネルで異なる形式を変更して変更できます...適用してアプリの再構築(実行)を行い、iamが話していることを確認します。
それで、現在のシステムの文化が英語に設定されていない場合、誰が英語のイベントでAmとPmの単語を強制的に表示できますか?
2行追加するだけで簡単:->
最初のステップusing System.Globalization;は、コードの上に追加します
前のコードを次のように変更します。
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.InvariantCulture);
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」を変更できます。各言語とその形式のリストがあります。
例:arar-SAアラビア語ar-BHar-BHアラビア語(バーレーン)ar-DZ ar-DZアラビア語(アルジェリア)ar-EG ar-EGアラビア語(エジプト)
datepicker value + TimeofDayですか?例:?