DateTime.Parse() 在一台机器上工作,但在另一台机器上不起作用
本文关键字:机器 一台 不起作用 工作 DateTime Parse | 更新日期: 2023-09-27 18:32:34
我正在使用Parse
方法将string
转换为DateTime
对象:
requestRecord.TerminationDate = DateTime.Parse(reader.ReadString("Termination_Date"));
此代码在一台计算机上工作,但在另一台计算机上引发异常。我认为这个问题可能与当地文化有关。查看两台计算机上的任务栏,引发异常的一台将日期显示为01/12/2014
,而另一台显示12/01/2014
。
有没有办法重写上面的代码,以便它无论本地DateTime
文化如何都可以在两台机器上运行?
我想两台机器上的区域性设置都不同。尝试提供格式。这就解释了为什么在两台计算机上对日期格式的解释不同:
requestRecord.TerminationDate = DateTime.ParseExact
( reader.ReadString("Termination_Date")
, "dd/MM/yyyy"
, CultureInfo.InvariantCulture
);
这样,您就不依赖于机器及其设置,而是取决于您知道的格式。
根据reader
是什么,您可能需要使用 reader.GetDateTime
,它已经为您完成了所有这些工作,例如 SqlDataReader.GetDateTime
.