DateTimePicker control does not show AM/PM

ε祈祈猫儿з 提交于 2019-12-10 14:51:43

问题


I'm having a problem with a DateTimePicker control using a custom format which includes the the two-letter A.M./P.M. abbreviation.

Using an "en-US" CultureInfo DateTimeFormat.ShortTimePattern results in "h:mm tt".

But setting this as custom format in a DateTimePicker with the following code:

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

results in only the hour and the minutes being displayed. I however also need the AM/PM part.

Examples:

11:04 AM is displayed as 11:04

2:00 PM is displayed as 2:00

Additional remark: I noticed that the DateTimePicker keeps track of the correct time. If I increase the time (I'm using ShowUpDown = true for this DateTimePicker control) and increase the hour by 12 and save the changes into the database, the AM/PM has changed. So it seems "only" to be an issue about displaying the AM/PM part.

Thanks for any help. Frank


回答1:


Try this

dtpTime.Format = DateTimePickerFormat.Custom
dtpTime.CustomFormat = "hh:mm tt"



回答2:


I have the same issue. This for the "Why" : Actually according to MS : https://support2.microsoft.com/Default.aspx?scid=kb%3ben-us%3b889834&x=18&y=19 Date picker don't use the current thread culture : it uses the user regional settings. SO if you force the date picker custom format something containing "tt", and if the user regional setting doesnt have any designator ... well it won't be shown.




回答3:


try this:

Private Sub mainform_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Label7.Text = DateTime.Now.ToString("MMM dd yyyy  hh:mm:ss tt")
End Sub



回答4:


Make sure that in Windows settings you also have set time format properly to display AM/PM. Time format in Windows should be also set to H:mm tt to display your result properly.



来源:https://stackoverflow.com/questions/12577838/datetimepicker-control-does-not-show-am-pm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!