c# - 系统.日期时间.ParseExact : unrecognized format string

标签 c# .net datetime timestamp iso8601

var timestamp = DateTime.ParseExact("20140101T000000Z", "YYYYMMDDThhmmssZ", CultureInfo.InvariantCulture);

System.FormatException was unhandled by user code
  HResult=-2146233033
  Message=String was not recognized as a valid DateTime.
  Source=mscorlib

这对我来说毫无意义,因为 YYYYMMDDThhmmssZ 是 ISO-8601 YYYY-MM-DDThh:mm:ssZ 并删除了特殊格式字符。

最佳答案

问题是 YYYYDD 不是有效的格式说明符。请使用 yyyydd 代替,如果您想使用 24 小时时间,请使用 HH:

var timestamp = DateTime.ParseExact("20140101T000000Z", "yyyyMMddTHHmmssZ", CultureInfo.InvariantCulture);

另请注意,此处的 Z 被解释为文字 Z 字符。它不能替代时区说明符 z

进一步阅读

关于c# - 系统.日期时间.ParseExact : unrecognized format string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21035465/

相关文章:

c# - 为什么我不能在类上使用 ConditionalAttribute?

ios - 如何使用 Swift 在 iOS 中每 24 小时添加一次变量?

python - 日期时间范围索引 : datetimes that may not be in the index?

c# - 同时选中DataGridView中的所有复选框

asp.net - 如何判断我的服务器上是否安装了 asp.net 4.0?

python - 如何检查时间戳和日期,然后删除不匹配

c# - 将 float 转换为 double 会丢失精度但不会通过 ToString

c# - 在 C# 交互式窗口中跟踪更改

c# - 从数据库中的二进制文件写入 PDF

c# - 如何在 ValueInjecter 3.1 中指定自定义匹配规则?