使用TimeSpan.ParseExact解析时间时出错

时间:2016-11-28 16:17:06

标签: c#

我正在尝试从DataTable读取2列,这将给我一个日期和时间。

我已尝试过代码行:

lastRun = DateTime.ParseExact(row["last_run_date"].ToString(), "yyyyMMdd", CultureInfo.InvariantCulture)
.Add(TimeSpan.ParseExact(row["last_run_time"].ToString().PadLeft(6, '0'), "HHmmss", CultureInfo.InvariantCulture));

last_run_date部分正常,但时间无法正确解析。

2 个答案:

答案 0 :(得分:3)

对于TimeSpan," HH"不是有效的格式说明符 - 使用" hh"代替。

https://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx

答案 1 :(得分:1)

您可以组合这两个字段并将它们解析为一个:

var str = row["last_run_date"].ToString() + " "
        + row["last_run_time"].ToString().PadLeft(6, '0');

lastRun = DateTime.ParseExact(str, "yyyyMMdd HHmmss", CultureInfo.InvariantCulture);