6

2 文字の AM/PM 省略形を含むカスタム形式を使用する DateTimePicker コントロールに問題があります。

"en-US" CultureInfo DateTimeFormat.ShortTimePattern を使用すると、"h:mm tt" になります。

ただし、次のコードを使用して、DateTimePicker でこれをカスタム形式として設定します。

Dim curCul As CultureInfo = New CultureInfo("en-US")
dtpTime.Format = DateTimePickerFormat.Custom
dtpTime.CustomFormat = curCul.DateTimeFormat.ShortTimePattern

時間と分のみが表示されます。ただし、AM/PM の部分も必要です。

例:

11:04 AM は 11:04 と表示されます

午後 2:00 は 2:00 と表示されます

追記: DateTimePicker が正しい時刻を追跡していることに気付きました。時間を増やして (この DateTimePicker コントロールに ShowUpDown = true を使用しています)、時間を 12 増やして変更をデータベースに保存すると、AM/PM が変更されています。そのため、AM/PM 部分の表示に関する問題は「のみ」のようです。

助けてくれてありがとう。フランク

4

4 に答える 4

3

同じ問題があります。これは「理由」です: 実際には MS によると: https://support2.microsoft.com/Default.aspx?scid=kb%3ben-us%3b889834&x=18&y=19 日付ピッカーは現在のスレッド カルチャを使用しません:ユーザーの地域設定を使用します。SO 日付ピッカーのカスタム形式に「tt」を含むものを強制すると、ユーザーの地域設定に指定子がない場合は表示されません。

于 2015-04-14T10:34:16.773 に答える