Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net DateTimePicker控件不显示AM/PM_Vb.net_Winforms_Datetimepicker_Datetime Format - Fatal编程技术网

Vb.net DateTimePicker控件不显示AM/PM

Vb.net DateTimePicker控件不显示AM/PM,vb.net,winforms,datetimepicker,datetime-format,Vb.net,Winforms,Datetimepicker,Datetime Format,我对使用自定义格式的DateTimePicker控件有问题,该格式包含两个字母的a.m./p.m.缩写 使用“en-US”CultureInfo DateTimeFormat.ShortTimePattern会导致 “h:mm tt” 但在DateTimePicker中使用以下代码将其设置为自定义格式: Dim curCul As CultureInfo = New CultureInfo("en-US") dtpTime.Format = DateTimePickerFormat.Custom

我对使用自定义格式的DateTimePicker控件有问题,该格式包含两个字母的a.m./p.m.缩写

使用“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显示为11:04

下午2:00显示为2:00

补充说明: 我注意到DateTimePicker跟踪正确的时间。 如果我增加时间(对于这个DateTimePicker控件,我使用ShowUpDown=true),将小时数增加12,并将更改保存到数据库中,则AM/PM已更改。 因此,显示AM/PM部件似乎是“唯一”的问题

谢谢你的帮助。 弗兰克,试试这个

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

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

确保在Windows设置中也正确设置了时间格式以显示AM/PM。Windows中的时间格式也应设置为H:mm tt以正确显示结果。

我也有同样的问题。这是“为什么”: 实际上,根据MS: 日期选择器不使用当前线程区域性:它使用用户区域设置。
因此,如果强制日期选择器自定义包含“tt”的格式,并且如果用户区域设置没有任何指示符。。。嗯,它不会显示。

不起作用,我不知道为什么它会起作用。。。如果我检查没有提到“aa”,那么它被简单地解释为文本并显示“aa”是的,我知道,“en-US”文化的短时模式是“h:mm tt”,如上所述。问题是表示AM/PM的tt未显示。你可以自己试试……你能添加你的代码吗?那太好了,谢谢:-)@FrankE,同样的事情,我刚刚在表单上放置了datetime,将格式设置为custom,并使用我给h:mm tt的自定义格式。(所有这些都是在designer上完成的,已经成功了)。您的操作系统的语言是什么?也许它在你的电脑上工作是因为它是基于英语(?),我的是基于德语,这就是为什么我需要改变文化。这就是解决方案!设置当前线程区域性与DateTimePicker不兼容。根据报告和这些信息,当线程区域性与Windows用户的区域设置匹配时,它应该可以工作。愚蠢的设计。