从2种格式解析DayTime

时间:2018-11-01 13:06:59

标签: c#

我想解析用户输入的日期。允许他使用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”是例外。我来自奥地利,但找不到有效的文化规范。 谢谢

2 个答案:

答案 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