我正在使用该Parse方法将a转换string为DateTime对象:
requestRecord.TerminationDate = DateTime.Parse(reader.ReadString("Termination_Date"));
Run Code Online (Sandbox Code Playgroud)
此代码在一台计算机上运行,但在另一台计算机上抛出异常.我认为问题可能与当地文化有关.查看两台计算机上的任务栏,抛出异常的任务栏具有日期,01/12/2014而另一台显示12/01/2014.
有没有什么方法可以重写上面的代码,以便它可以在两台机器上运行,而不管本地DateTime文化?
我猜两种机器的文化设置都不同.尝试提供格式.这解释了为什么在两台机器上对日期格式的解释不同:
requestRecord.TerminationDate = DateTime.ParseExact
( reader.ReadString("Termination_Date")
, "dd/MM/yyyy"
, CultureInfo.InvariantCulture
);
Run Code Online (Sandbox Code Playgroud)
这样,您不依赖于机器及其设置,而是依赖于您所知的格式.
例如,根据reader您可能想要使用的内容reader.GetDateTime,它可以为您完成所有这些操作SqlDataReader.GetDateTime.
| 归档时间: |
|
| 查看次数: |
1048 次 |
| 最近记录: |