字符串未被识别为有效的DateTime CultureInfo.InvariantCulture不工作

字符串未被识别为有效的DateTime CultureInfo.InvariantCulture不工作,datetime,Datetime,这是我的密码: string openingnight = (from p in db.ProductionDetails where p.Production_proProductionID == productionid select p.prodetOpeningNightDate).FirstOrDefault(); DateTime newdate = DateTime.ParseExact(openingnight, "dd/MM/yyyy", CultureInfo.Invari

这是我的密码:

string openingnight = (from p in db.ProductionDetails
where p.Production_proProductionID == productionid
select p.prodetOpeningNightDate).FirstOrDefault();

DateTime newdate = DateTime.ParseExact(openingnight, "dd/MM/yyyy", CultureInfo.InvariantCulture);
double date = newdate.ToOADate();
string openingnightstring = date.ToString();
我获取的字符串无法识别错误:System.DateTimeParse.ParseExact(字符串s,字符串格式,DateTimeFormatInfo dtfi,DateTimeStyles样式)+3369666

这在我的测试环境中工作,但在我所在的web服务器上不工作。它在本周早些时候起作用了。我试着问一下托管公司,但他们把我送到这里来了。我认为这与服务器有关,但我可能错了。我读了所有的帖子,尝试了所有的组合,但仍然无法运行。我已确认字符串openingnight的日期格式为dd/MM/yyyy

谢谢你能提供的任何帮助

任何帮助都将不胜感激

已更新

我切换到了TryParse,这是正确的工作

string openingnight = (from p in db.ProductionDetails
where p.Production_proProductionID == productionid
select p.prodetOpeningNightDate).FirstOrDefault();

DateTime datetime2 = new DateTime();

DateTime.TryParse(openingnight, out datetime2);
double date = datetime2.ToOADate();
string openingnightstring = date.ToString();

productionstringList.Add(new ProductionListOpeningSort() { ProductionTitle = productiontitlestring, openingnightlist = openingnightstring });

我应该在我的数据库中使用Date,但这是我在知道现在所知道的之前设计的数据库:)谢谢反馈

可能是服务器上的
openingnight
有不同的格式吗?我敢打赌
openingnight
不是那种格式。它的价值是什么?仅供参考,ParseExact的工作原理与文档完全相同,不要在那里寻找bug。如果ParseExact失败,那是因为字符串不是指定的格式。顺便问一下,为什么
prodeOpeningNightDate
是字符串而不是日期时间?如果它来自数据库,则应该使用DateTime字段而不是(n)varchar字段来存储日期