【发布时间】:2013-07-12 17:33:41
【问题描述】:
我的页面上有一个自定义控件,其中包含小时、分钟和上午/下午字段。我需要能够获取每个字符串 Hour + Minutes + AM/PM 并获得有效的 TimeSpan,以便我可以与 Date 结合。
我尝试了几种不同的方法,但得到了 Invalid TimeSpan 错误。这是我的代码
string date = DateDropDown.SelectedValue;
string hour = HourDropDown.SelectedValue;
string minute = MinuteDropDown.SelectedValue;
string timeofDay = AMPMDropDown.SelectedValue;
string timeStr = hour.PadLeft(2, '0') + ":" + minute + timeofDay;
TimeSpan custTime = TimeSpan.Parse(timeStr);
DateTime custDate = DateTime.Parse(date);
DateTime callBackDT = custDate.Add(custTime);
除了考虑 Parse 的错误。如何从时间字符串和上午/下午获得有效的时间跨度?
谢谢
【问题讨论】:
-
最终的字符串会是什么样子?
-
请记住,
TimeSpan用于表示测量的持续时间。它可以超过一天,也可以是负数。DateTime.TimeOfDay使用TimeSpan类型很有趣,因为这不是它的本意。但是,嘿,这只是 .Net 和DateTime诡异的冰山一角。