我当前的代码如下所示:
DateTime dateBegin = DateTime.ParseExact(begin, "MM/dd/yyyy", null);
DateTime dateEnd = DateTime.ParseExact(end, "MM/dd/yyyy", null);
但是只要“结束”中的日期不同,它就会抛出异常。我从 DateTimePicker 控件获取日期,因此日期可能看起来像“1/12/2010”,然后它会抛出异常。我该如何避免这种情况?
谢谢。
最佳答案
这是 winform 吗?只需使用 .Value
在选择器上,您将获得正确的 DateTime
- 无需解析。
最终,“1/12/2010”不是“MM/dd/yyyy”;您还可以尝试使用“M/d/yyyy”作为后备?
string s = "1/12/2010";
string[] formats = { "MM/dd/yyyy", "M/d/yyyy", "M/dd/yyyy", "MM/d/yyyy" };
DateTime value = DateTime.ParseExact(s, formats, CultureInfo.CurrentCulture, DateTimeStyles.None);
关于C# DateTime解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1915883/