我有一个名为“<div>
”的DateTimePicker
控件,它的自定义格式为“HH mm”(dtpickStartTime
)。我用它来选择一个工作正常的时间(我得到的时间很好,以那种格式)。但是,我正在努力设定时间。
我从一组控件上设置时间,这些控件上有标签dtpickStartTime.CustomFormat = "HH mm"
,有点复杂,但所有这些意味着我试图设置的值是'00 00'或类似的,这是在那个自定义中格式
但它似乎无法正常工作
PanelField(i).lblStartTime.Text
System.InvalidCastException:'从字符串“14 20”转换为“日期”类型无效。'
有谁知道如何以编程方式设置时间? 我试过了
JobAddingForm.dtpickStartTime.Value = CDate(PanelField(i).lblStartTime.Text)
但要做到这一点,你需要把它作为JobAddingForm.dtpickStartTime.Value = New DateTime(0, 0, 0, PanelField(i).lblStartTime.Text, 0, 0)
并且标签包含'14 20'的值,因此它看起来像(0, 0, 0, 14, 20, 0)
我也不确定要搜索什么来解决这个问题所以我问这个问题,我希望我已经解释得很好,如果需要提供更多信息,我可以这样做。感谢阅读: - )
答案 0 :(得分:0)
如果您需要将“非标准”字符串转换为DateTime,而不是CDate
,则应使用ParseExact
或TryParseExact
,这两个字符串都可以获取指定输入字符串的格式。在你的情况下,这应该工作:
JobAddingForm.dtpickStartTime.Value = DateTime.ParseExact(PanelField(i).lblStartTime.Text, "HH mm", Globalization.CultureInfo.InvariantCulture)