带有自定义格式的DateTimePicker控件,如何设置时间值?
DateTimePicker control with a custom format, how to set the time value?
我有一个名为“dtpickStartTime
”的 DateTimePicker
控件,它的自定义格式为 'HH mm' (dtpickStartTime.CustomFormat = "HH mm"
)。我用它 select 一个工作正常的时间(我从它那里得到时间,以那种格式)。然而,我正在努力设置时间。
我正在从一组带有标签的控件中设置时间 PanelField(i).lblStartTime.Text
,有点复杂,但这意味着我试图设置的值是“00 00”或类似的值,它在该自定义格式
但是好像不行
JobAddingForm.dtpickStartTime.Value = CDate(PanelField(i).lblStartTime.Text)
System.InvalidCastException: 'Conversion from string "14 20" to type 'Date' is not valid.'
有谁知道如何以编程方式设置时间?
我试过
JobAddingForm.dtpickStartTime.Value = New DateTime(0, 0, 0, PanelField(i).lblStartTime.Text, 0, 0)
但要做到这一点,您需要将其设置为 (0, 0, 0, 14, 20, 0)
并且标签包含“14 20”的值,因此它看起来像 (0, 0, 0, 14 20, 0, 0)
我也不确定要搜索什么来解决这个问题,所以我问这个问题,我希望我已经解释得足够好,如果需要提供更多信息,我可以做到。感谢阅读:-)
如果您需要将 "non-standard" 字符串转换为 DateTime,您应该使用 ParseExact
or TryParseExact
而不是 CDate
,它们都可以获得一个指定输入格式的参数细绳。在你的情况下,这应该有效:
JobAddingForm.dtpickStartTime.Value = DateTime.ParseExact(PanelField(i).lblStartTime.Text, "HH mm", Globalization.CultureInfo.InvariantCulture)
我有一个名为“dtpickStartTime
”的 DateTimePicker
控件,它的自定义格式为 'HH mm' (dtpickStartTime.CustomFormat = "HH mm"
)。我用它 select 一个工作正常的时间(我从它那里得到时间,以那种格式)。然而,我正在努力设置时间。
我正在从一组带有标签的控件中设置时间 PanelField(i).lblStartTime.Text
,有点复杂,但这意味着我试图设置的值是“00 00”或类似的值,它在该自定义格式
但是好像不行
JobAddingForm.dtpickStartTime.Value = CDate(PanelField(i).lblStartTime.Text)
System.InvalidCastException: 'Conversion from string "14 20" to type 'Date' is not valid.'
有谁知道如何以编程方式设置时间? 我试过
JobAddingForm.dtpickStartTime.Value = New DateTime(0, 0, 0, PanelField(i).lblStartTime.Text, 0, 0)
但要做到这一点,您需要将其设置为 (0, 0, 0, 14, 20, 0)
并且标签包含“14 20”的值,因此它看起来像 (0, 0, 0, 14 20, 0, 0)
我也不确定要搜索什么来解决这个问题,所以我问这个问题,我希望我已经解释得足够好,如果需要提供更多信息,我可以做到。感谢阅读:-)
如果您需要将 "non-standard" 字符串转换为 DateTime,您应该使用 ParseExact
or TryParseExact
而不是 CDate
,它们都可以获得一个指定输入格式的参数细绳。在你的情况下,这应该有效:
JobAddingForm.dtpickStartTime.Value = DateTime.ParseExact(PanelField(i).lblStartTime.Text, "HH mm", Globalization.CultureInfo.InvariantCulture)