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

时间:2010-06-24 22:34:45

标签: c# .net winforms datetimepicker

我有一个timehicker(datetimepicker),格式为HH:mm - 24小时制。它显示为00到24和00到59,不允许输入无效值。这正是我想要的。

但是,它使用AM和PM指标将值返回为12小时。这意味着当用户输入“00”时,它返回为“12”,并且“14”返回为“2:00”。这不是我想要的。

我可以测试并转换这些不需要的返回值,但肯定(?)有一种更优雅的方式来说服这个东西给我我想要的值而不是检查这些特殊条件?我忽略了一些简单的财产?

2 个答案:

答案 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小时)字符串格式。