这一点:
bool ret = DateTime.TryParse("Sunday 11 November", out date);
是否无法解析日期字符串?为什么?
我知道字符串是一个不完整的日期,但是为什么框架不能处理它呢?框架总是试图返回合法的日期吗?因为如果是这样的话,这就可以解释了(2014年11月11日星期日不是一个有效的日期)
发布于 2014-12-04 13:20:32
这很容易验证,只需将日期更改为有效日期(11月9日星期日),然后猜猜发生了什么,它就可以工作了。您还会看到年份设置为2014年。
因此,是的,如果日期无效,则解析将失败。
发布于 2014-12-04 13:20:52
在DateTime.TryParse的documentation中,它声明了以下内容:
如果可能,此方法会尝试忽略无法识别的数据,并且会使用当前日期填充缺少的月、日和年信息。
在您的示例中,年份缺失,因此它将插入当前年份,给出2014年11月11日星期日。我假设它是无效的,因为11月11日不是星期天。文档中确实包含了包含日期名称的示例。
看到这个问题很有趣,因为TryParse的这个非直观的功能(填充缺失的部分)就在今天咬了我办公室里的一个人。
https://stackoverflow.com/questions/27286753
复制相似问题