【问题标题】:ISO 8601 into a datetime object using C# [duplicate]使用 C# 将 ISO 8601 转换为日期时间对象 [重复]
【发布时间】:2011-07-03 16:04:22
【问题描述】:

可能重复:
How to create a .NET DateTime from ISO 8601 format

如何使用 C# 将 ISO 8601 格式的日期字符串解析为日期时间对象?

【问题讨论】:

  • 源字符串是ISO8601 格式还是要将字符串转换为该格式?
  • 源字符串采用 ISO8601 格式,我想将此字符串转换为该格式的日期时间对象。我有他的 :DateTime.ParseExact("2011-02-14T13:10:30", "yyyy-MM-dd'T'HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);结果是 2011-02-14 13:10:30 我应该得到 2011-02-14T13:10:30 或者我期望这个结果是错误的吗?

标签: .net


【解决方案1】:

在解析字符串时使用 ISO 8601 standard date and time format strings - "O", "o""S" and "s" 之一(又名往返格式说明符)。

此说明符的模式反映了定义的标准 (ISO 8601)。因此,无论使用的文化或提供的格式提供程序如何,它始终是相同的。

DateTime dt = DateTime.ParseExact(iso8601String, "s", CultureInfo.InvariantCulture);

【讨论】:

  • 当输入字符串包含“Z”时区说明符时会发生炸弹。
猜你喜欢
  • 1970-01-01
  • 2012-10-06
  • 1970-01-01
  • 2013-01-30
  • 2019-02-27
  • 2021-11-19
  • 2016-10-20
  • 1970-01-01
  • 2015-01-30
相关资源
最近更新 更多