为什么这不起作用?
DateTime.TryParseExact(text, "H", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out value);我想解析一个只提供小时部分的时间值,但它抛出了一个FormatException。
另一方面,这是可行的:
DateTime.TryParseExact(text, "HH", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out value)有人知道原因吗?
谢谢。
发布于 2010-10-04 17:17:00
好的,我必须查找这个-它看起来应该可以工作,但它不是,因为自定义格式字符串是无效的。自定义格式字符串需要至少有两个字符宽-请参阅:
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#UsingSingleSpecifiers
因此,根据文档,您可以使用以下代码来修复此问题:
DateTime.TryParseExact(text, "%H", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out value);发布于 2010-10-04 17:06:10
我猜这意味着TryParseExact无法将小时部分放入单个字符中,这对我来说是可以理解的,因为小时将以12或24小时为基础。
发布于 2010-10-04 17:06:17
如果没有更具体的信息,您正在构建的DatTime无法确定给定输入的AM / PM。H将只允许1- 12的值,留下不明确之处。HH提供了额外的信息。
https://stackoverflow.com/questions/3853849
复制相似问题