我想分析用户输入的日期。他可以使用格式DD.MM.YYYY或DDMMYYYY。
不幸的是,我所尝试的一切都不起作用
DateTime date = new DateTime();
string[] dateFormat = new string[] { "dd.mm.yyyy", "ddmmyyyy" };
string userInput = "30.10.2000" // or "30102000"
date = DateTime.ParseExact(date, dateFormat, null);
"字符串未被识别为有效的DateTime"是例外。我来自奥地利,但找不到有效的文化代码。感谢
试试这个:
DateTime date = DateTime.MinValue;
string[] dateFormats = { "dd.MM.yyyy", "ddMMyyyy" };
string userInput = "30.10.2000"; // or "30102000"
bool isValid = DateTime.TryParseExact(userInput, dateFormats, null, DateTimeStyles.None, out date);
Console.WriteLine($"{date:O}"); // prints date in ISO format
如果date
被正确解析,则isValid
将被设置为true
。
对于4位年份为yyyy
,对于2位天数为dd
。它区分大小写。您还忽略了将dateFormat
数组传递到ParseExact
中,因此它将尝试只执行单一格式。