2

私のページには、時間、分、および AM/PM のフィールドを持つカスタム コントロールがあります。各文字列 Hour + Minutes + AM/PM を取り、有効な TimeSpan を取得して Date と組み合わせることができるようにする必要があります。

いくつかの方法を試しましたが、無効な 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 のエラーを考慮することは別として。時間文字列と午前/午後から有効なタイムスパンを取得するにはどうすればよいですか?

ありがとう

4

3 に答える 3

3

DateTime最後に一度解析するだけです:

string date = DateDropDown.SelectedValue;
string hour = HourDropDown.SelectedValue;
string minute = MinuteDropDown.SelectedValue;
string timeofDay = AMPMDropDown.SelectedValue;

string dateStr = date + " " + hour.PadLeft(2, '0') + ":" + minute + " " + timeofDay;

DateTime callBackDT = DateTime.Parse(dateStr);

TimeSpanこの場合、をビルドする理由はありません。DateTime.Parse日付と時間を単一の として処理できるからDateTimeです。

于 2013-07-12T17:36:42.743 に答える