此:
bool ret = DateTime.TryParse("Sunday 11 November", out date);
无法解析日期字符串?为什么呢?
我意识到字符串是一个不完整的日期,但为什么框架不能处理它?框架是否总是试图返回合法的日期?因为如果是这样,那就解释了它(2014年11月11日星期日不是有效日期)
答案 0 :(得分:1)
它很容易验证,只需将日期更改为有效日期(11月9日星期日),并猜测它是什么,它有效。您还会看到年份设置为2014年。
所以是的,似乎如果日期无效,解析将失败。
答案 1 :(得分:1)
在DateTime.TryParse
{{1}}中,它说明了以下内容:
如果可能,此方法会尝试忽略无法识别的数据,并且填充 缺少当前日期的月,日和年信息。
在您的示例中,年份缺失,因此它将插入当前年份,即2014年11月11日星期日。我假设它无效,因为11月11日不是星期日。文档中包含的示例包含当天的名称。
看到这个问题很有意思,因为TryParse的这个非直观的功能(填补了缺失的部分)在今天我的办公室里咬了一个人。