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文化如何都可以在两台机器上运行?

DateTime.Parse() 在一台机器上工作,但在另一台机器上不起作用

我想两台机器上的区域性设置都不同。尝试提供格式。这就解释了为什么在两台计算机上对日期格式的解释不同:

requestRecord.TerminationDate = DateTime.ParseExact
                                ( reader.ReadString("Termination_Date")
                                , "dd/MM/yyyy"
                                , CultureInfo.InvariantCulture
                                );
这样,您

就不依赖于机器及其设置,而是取决于您知道的格式。

根据reader是什么,您可能需要使用 reader.GetDateTime ,它已经为您完成了所有这些工作,例如 SqlDataReader.GetDateTime .