Windows コントロール パネルの [地域と言語] ページでユーザーが指定した日付と時刻を正確にフォーマットしようとしています。これは、一般的な短い日付/時刻の「g」など、一般的な書式設定文字列を使用している限り、ユーザーが行うほとんどの選択に対して半自動的に機能します。
しかし、少なくとも 1 つの例外に遭遇しました。Format: "English (United States)" と Short time: "hh:mm tt" を選択すると、書式設定では "hh" の部分が無視され、代わりに "h:mm tt" が使用されます。 -桁の時間。
// Just testing - to be removed
string s1 = CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern;
string s2 = CultureInfo.CurrentUICulture.DateTimeFormat.ShortTimePattern;
上記のコードをプログラムに追加すると、.Net がコントロール パネル ページで指定された "hh:mm tt" ではなく "h:mm tt" を使用していることを確認できます。
指定された設定を使用するために、または自分で設定を決定してから、明示的に「hh:mm tt」を使用する書式を取得するためにできることはありますか?