我正在尝试使用解析日期/时间字符串DateTime.ParseExact
.它可以在任何地方工作,除了在一台机器上 - 它只是不会在该机器上解析.问题是:为什么?在那台机器上可能有什么不同,以致它会导致这种行为?
以下是我已经看过的一些事情:
将CultureInfo
被传递给DateTime.ParseExact
,即CultureInfo.InvariantCulture
恶意计算机上的区域设置与解析工作的计算机上的设置相同.
是的,字符串格式正确,即 dd/MM/yyyy HH:mm:ss
keith.. 6
我总是发现区域设置可能很棘手,你永远不能假设你的应用程序的用户甚至可以首先正确设置他们的机器!
如果它们必须是字符串,那么我用来解析日期的全部内容就是以"dd/MMM/yyyy"格式解析它,例如"14/JAN/2009"将很好地翻译,无论是什么设置是.
顺便说一句,这个技巧也适用于SQL Server :)
我总是发现区域设置可能很棘手,你永远不能假设你的应用程序的用户甚至可以首先正确设置他们的机器!
如果它们必须是字符串,那么我用来解析日期的全部内容就是以"dd/MMM/yyyy"格式解析它,例如"14/JAN/2009"将很好地翻译,无论是什么设置是.
顺便说一句,这个技巧也适用于SQL Server :)