c# - DateTime.TryParseExact 未按预期工作

标签 c#

为什么这不起作用?

DateTime.TryParseExact(text, "H", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out value);

我想解析仅提供小时部分的时间值,但它会抛出 FormatException。

另一方面,这有效:

DateTime.TryParseExact(text, "HH", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out value)

有人知道原因吗

谢谢。

最佳答案

好吧,我必须查一下这个 - 看起来它应该可以工作,但是却不能,因为自定义格式字符串无效。自定义格式字符串的宽度至少需要两个字符 - 请参阅:

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#UsingSingleSpecifiers

因此,根据文档,您可以使用以下代码修复此问题:

DateTime.TryParseExact(text, "%H", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out value);

关于c# - DateTime.TryParseExact 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3853849/

相关文章:

c# - 增加一个参数DI注册

c# - 如何在 Visual Studio 2017 中启用 C# 中的代码建议功能?

c# - Json.net 反序列化不一致的 JSON

javascript - 从 ajax 获取数据到 mvc 操作

c# - RESTful 服务和 JSON 数组

c# - 将 C# Properties.Settings 值设置为空格仅失败

c# - 从特定索引启动单词生成器

c# - Entity Framework (EF) 迁移取决于 SQL Server 版本

c# - 应用程序中的 SQL 超时,但不在 SQL Server Mgmt Studio 中

c# - `BatchStatement` 偶尔获取数据不同步