我有一个timehicker(datetimepicker),格式为HH:mm - 24小时制。它显示为00到24和00到59,不允许输入无效值。这正是我想要的。
但是,它使用AM和PM指标将值返回为12小时。这意味着当用户输入“00”时,它返回为“12”,并且“14”返回为“2:00”。这不是我想要的。
我可以测试并转换这些不需要的返回值,但肯定(?)有一种更优雅的方式来说服这个东西给我我想要的值而不是检查这些特殊条件?我忽略了一些简单的财产?
答案 0 :(得分:4)
如何从控件中获取输入的时间值?
如果您拥有DateTimePicker
控件并将其Format
属性设置为Custom
,将其CustomFormat
属性设置为HH:mm
,则会获得24小时格式阅读Value
属性时的时间(作为DateTime
类型。)
编辑:如果您使用的是ToString()
值(正如您在上面的评论中所述),则会使用您当前的本地化设置。您可以更好地阅读DateTime
(即。DateTime.Hour
DateTime.Minute
)中的值。
答案 1 :(得分:4)
当您阅读该值时,您需要使用:
string value = dateTimePicker.Value.ToString("HH:mm");
如果你只使用Value.ToString()
,你将获得默认的(12小时)字符串格式。