我有一个格式为 HH:mm - 24 小时制的时间选择器 (datetimepicker)。它显示为 00 到 24 和 00 到 59,并且不允许输入无效值。这正是我想要的。
但是,它返回值为 12 小时,带有 AM 和 PM 指标。这意味着当用户输入“00”时,它返回为“12”,而“14”返回为“2:00”。这不是我想要的。
我可以测试并转换这些不需要的返回值,但是肯定(?)有一种更优雅的方法可以说服这个东西给我我想要的值而不是检查这些特殊条件?我可能忽略了一些简单的属性?
最佳答案
您如何从控件中获取输入的时间值?
如果您有一个 DateTimePicker
控件并设置它的 Format
Custom
的属性,及其 CustomFormat
属性设置为 HH:mm
,当您阅读 Value
时,您将获得 24 小时制时间(作为 DateTime
类型)属性(property)。
编辑:如果您使用的是 ToString()
值(如您在上述评论中所说),这将使用您当前的本地化设置。您最好从 DateTime
中读取值(即 DateTime.Hour
DateTime.Minute
)。
关于c# - Winforms .net Datepicker 不遵守 24 小时格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3114402/