字符串未被识别为 DateTime.ParseExact 的有效参数

String was not recognized as a valid parameter for DateTime.ParseExact

我正在使用此代码:

var sec = "163516";
TimeSpan time = TimeSpan.FromSeconds(double.Parse(sec));
DateTime butikDatetime = DateTime.Today.Add(time);
string dateTime = butikDatetime.ToString("dd-MM-yy HH:mm:ss");
DateTime date = DateTime.ParseExact(dateTime, "dd-MM-yy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

但是收到 ParseExact 的这个错误:

Additional information: String was not recognized as a valid DateTime.

有人知道哪里出了问题吗?

您正在将 butikDateTime 转换为不带区域性的 dateTime 对象(框架将使用当前线程区域性),稍后使用不变区域性重新转换。将 butikDateTime 转换为字符串时可以使用不变文化吗

var sec = "163516";
TimeSpan time = TimeSpan.FromSeconds(double.Parse(sec));
DateTime butikDatetime = DateTime.Today.Add(time);
string dateTime = butikDatetime.ToString("dd-MM-yy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
DateTime date = DateTime.ParseExact(dateTime, "dd-MM-yy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

将第 3 行更新为:

string dateTime = butikDatetime.ToString("dd-MM-yy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);