从自定义字符串转换TimeSpan - c#

我的页面上有一个自定义控件,其中包含“小时”,“分钟”和“上午/下午”字段。我需要能够接受每个字符串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);

除了考虑解析时的错误。如何从时间字符串和上午/下午获得有效的时间跨度?

谢谢

参考方案

最后,只需解析一次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处理。

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

尝试将字符串转换为日期时间的格式与字符串不同 - c#

因此,我不得不将(MM-dd-yyyy)格式的日期转换为(dd-MMM-yyyy)。我最终要做的是...string strProvisionalDate = "04-22-2001"; string strFormat = "MM-dd-yyyy"; DateTime dtProvisional; DateTime.…

您如何在列表内部调用一个字符串位置? - python

我一直在做迷宫游戏。我首先决定制作一个迷你教程。游戏开发才刚刚开始,现在我正在尝试使其向上发展。我正在尝试更改PlayerAre变量,但是它不起作用。我试过放在列表内和列表外。maze = ["o","*","*","*","*","*",…