Winforms.net Datepicker不尊重24小时格式?

hpxqektj  于 2023-04-07  发布在  .NET
关注(0)|答案(3)|浏览(135)

我有一个格式为HH:mm - 24小时时钟的时间选择器(datetimepicker)。它显示为00到24和00到59,并且不允许输入无效值。这正是我想要的。
然而,它返回值为12小时,带有AM和PM指示符。这意味着当用户输入“00”时,它返回为“12”,而“14”返回为“2:00”。这不是我想要的。
我可以测试并转换这些不需要的返回值,但肯定有一种更优雅的方法来说服这个东西给予我想要的值,而不是检查这些特殊条件?也许是我忽略的一些简单属性?

jei2mxaa

jei2mxaa1#

如何从控件中获取输入的时间值?
如果您有一个DateTimePicker控件,并将其Format属性设置为Custom,将其CustomFormat属性设置为HH:mm,则在读取Value属性时将获得24小时格式时间(作为DateTime类型)。

**编辑:**如果您使用的是ToString()值(如您在上面的评论中所说),这将使用您当前的本地化设置。您最好从DateTime阅读值(即DateTime.HourDateTime.Minute)。

lrpiutwd

lrpiutwd2#

读取值时,需要用途:

string value = dateTimePicker.Value.ToString("HH:mm");

如果您只使用Value.ToString(),您将获得默认(12小时)字符串格式。

5gfr0r5j

5gfr0r5j3#

定义特性时:对于“dateTimePicker”控件,请使用大写字母HH而不是小写字母hh来定义小时。
例如:“yyyy-MM-ddTHH:mm:ss”将使用24小时时间,“yyyy-MM-ddThh:mm:ss”将使用12小时时间

相关问题