我想解析用户输入的日期。允许他使用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”是例外。我来自奥地利,但找不到有效的文化规范。 谢谢
答案 0 :(得分:1)
是yyyy
代表4位数字的年份,dd
代表2位数字的日子。区分大小写。您还忽略了将dateFormat
数组传递到ParseExact
中,因此它将尝试仅执行该单一格式。
答案 1 :(得分:1)
尝试一下:
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
。