c将字符串解析为datetime时发生异常



我有一个包含数据的日期-时间变量DateTime d

我有这样的字符串:

11:00 - 12:00

我想从d变量中获取日期,然后从字符串中添加小时和分钟。

我做到了:

string newStringDate = d.ToString("yyyy-mm-dd") + " "+hourValue.Split('-')[0];
                    DateTime dd = DateTime.Parse(newStringDate);

我得到的解释是,字符串不能转换到目前为止。

我调试了代码,可以看到newStrinDate=2014-01-25 11:00

请问我做错了什么?

应该是这样的

string newStringDate = d.ToString(@"yyyy-MM-dd") + " " + hourValue.Split('-')[0].Trim();
DateTime dd = DateTime.ParseExact(newStringDate, @"yyyy-MM-dd HH:mm", null);

您可以做得更好(无需将原始日期转换为字符串):

DateTime dd = d.Date + DateTime.ParseExact(hourValue.Split('-')[0].Trim(), @"HH:mm", null).TimeOfDay;

相关内容

  • 没有找到相关文章

最新更新