DateTimePicker:选择日期和时间

时间:2008-09-18 15:15:38

标签: c# .net winforms

是否可以使用DateTimePicker(Winforms)同时选择日期和时间(在下拉列表中)?如何更改所选值的自定义显示?此外,是否可以让用户手动输入日期/时间?

7 个答案:

答案 0 :(得分:177)

将格式设置为自定义,然后指定格式:

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";  

或者你想要解决它。然后,您可以直接输入日期/时间。如果您使用MMM,则需要使用月份的数值进行输入,除非您自己编写一些代码(例如5月份的5个结果)

不要一起了解日期和时间的选择器。对我来说听起来像是一个自定义控件。

答案 1 :(得分:52)

最好为作业使用两个DateTimePickers 一个是日期部分的默认值,第二个DateTimePicker是时间部分。格式化第二个DateTimePicker,如下所示。

      timePortionDateTimePicker.Format = DateTimePickerFormat.Time;
      timePortionDateTimePicker.ShowUpDown = true;

捕获它们后,这两个应该是这样的

Two Date Time Pickers

要从这两个控件获取DateTime,请使用以下代码

DateTime myDate = datePortionDateTimePicker.Value.Date + 
                    timePortionDateTimePicker.Value.TimeOfDay; 

要将DateTime分配给这两个控件,请使用以下代码

datePortionDateTimePicker.Value  = myDate.Date;  
timePortionDateTimePicker.Value  = myDate.TimeOfDay; 

答案 2 :(得分:45)

不幸的是,这是框架中的许多误解之一,或者充其量违反了SRP。

要将DateTimePicker用于时间,请将Format属性设置为Time 或自定义(如果要使用控制时间格式,请使用自定义 CustomFormat属性)。然后将ShowUpDown属性设置为true。

虽然用户可以手动设置日期和时间,但是他们无法使用GUI来设置它们。

答案 3 :(得分:22)

DateTime Picker可用于选择日期和时间,这就是它被称为“日期和时间选择器”的原因。您可以将“格式”属性设置为“自定义”,并设置不同格式说明符的组合,以在“自定义”中以不同格式表示/选择日期/时间格式“属性。但是,如果要更改日期,则可以使用弹出日历,而在时间选择的情况下(在同一控件中,您必须使用向上/向下键来更改值。

例如,自定义格式“ ddddd,MMMM dd,yyyy hh:mm:ss tt ”会给你一个这样的结果:“ 2009年8月20日星期四02:55 :23 PM “。

您可以使用不同的格式说明符组合来满足您的需要,例如 MMMM 会给出“ 8月”,而 MM 会给出“的

答案 4 :(得分:11)

转到Visual Studio中Properties的{​​{1}},将dateTimePicker设置为Format。在Custom下输入您的格式。就我而言,我使用了CustomFormat

enter image description here
dateTimePickerProperties

答案 5 :(得分:1)

您可以将其显示为time。从那里你可能必须有两个控件(一个日期,一次)完成你想要的。

答案 6 :(得分:1)

我担心DateTimePicker控件无法执行这些操作。这是一个非常基本(令人沮丧!)的控制。您最好的选择可能是找到符合您需要的第三方控件。

对于手动输入日期和时间的选项,您可以构建一个带有TextBox / DateTimePicker组合的自定义组件来完成此操作,如果第三方控件不是一个选项,它可能会运行得相当好。