我正在尝试使用 DateTime.ParseExact
解析日期/时间字符串。它可以在任何地方工作,除了在一台机器上——它只是不会在那台机器上解析。问题是:为什么?那台机器上有什么不同会导致这种行为?
以下是我已经看过的一些内容:
- 将
CultureInfo
传递给DateTime.ParseExact
,即CultureInfo.InvariantCulture
- 恶意机器上的区域设置与进行解析的机器上的设置相同。
- 是的,字符串的格式正确,即
dd/MM/yyyy HH:mm:ss
最佳答案
我总是发现区域设置可能很棘手,您永远不能假设您的应用程序的用户甚至会首先正确设置他们的机器!
如果日期必须是字符串,我一直用来解析日期的一个包罗万象是以“dd/MMM/yyyy”格式解析它,例如无论设置如何,“14/JAN/2009”都能很好地翻译。
顺便说一句,这个技巧也适用于 SQL Server :)
关于c# - 无法解析 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/441270/