5

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

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

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

4

2 回答 2

6

您如何从控件中获取输入的时间值?

如果您有一个DateTimePicker控件并将其Format属性设置为Custom,并将其CustomFormat属性设置为,则当您读取该属性时HH:mm,您将获得 24 小时格式时间(作为一种类型) 。DateTimeValue

编辑:如果您使用该ToString()值(如您在上面的评论中所说),这将使用您当前的本地化设置。DateTime从(ie. DateTime.Hour DateTime.Minute)读取值会更好。

于 2010-06-24T22:47:03.000 回答
5

当您读取该值时,您需要使用:

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

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

于 2010-06-24T22:55:08.737 回答