c# - 无法解析 DateTime

标签 c# datetime parsing settings date

我正在尝试使用 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/

相关文章:

ruby-on-rails - 将标准 rails/ruby 时间转换为美国格式 - 日期混淆

C# CSV Filehelpers 比较同一文件中的两行,添加和删除行

c# - 如何解析文本文件c#并获得正确的结果数据

c# - 如何将字典的子集转换为从 Dictionary<> 派生的类型

c# - 为什么两个相同的数据表不会显示任何差异?

c# - 在包 'enableVrMode' 中找不到属性 'android' 的资源标识符

c# - Windows 10 ScrollIntoView() 没有滚动到 ListView 中间的项目

java - 为什么将 "0000:00:00 00:00:00"解析为日期返回 -0001-11-28T00 :00:00Z?

java - 将 Double 转换为 java.sql.Time

java - XML 递归节点解析器