将字符串解析为datetime时出现c#异常

时间:2014-04-20 20:08:09

标签: 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

请问我做错了什么?

1 个答案:

答案 0 :(得分:1)

应该是这样的

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;