即使我提供有效的日期格式,字符串也不会被识别为有效的DateTime

时间:2017-11-06 14:52:49

标签: c# wpf parsing datetime

我正在尝试将字符串转换为DateTime格式,而string看起来采用以下格式:

10.11.2017. 0:00:00

我希望将它转换为日期时间:

DateTime expireDate = DateTime.ParseExact(MyFormat, "dd/MM/yyyy HH:mm:ss", null);

我使用HH因为我使用24小时格式

但它抛出了一个错误:

String was not recognized as a valid DateTime

我想知道这有什么问题?我提供格式10.11.2017。我认为DateTime可以接受,但不幸的是它不是:/

3 个答案:

答案 0 :(得分:1)

试试这个:

string s = "10.11.2017. 0:00:00";
DateTime expireDate = DateTime.ParseExact(s, "dd.MM.yyyy. H:mm:ss", CultureInfo.InvariantCulture);

答案 1 :(得分:0)

您没有使用正确的格式转换它。这应该有效:

DateTime expireDate = DateTime.ParseExact("10.11.2017. 0:00:00", "dd.MM.yyyy. HH:mm:ss", CultureInfo.InvariantCulture);

答案 2 :(得分:0)

不,您没有提供确切的日期格式。你告诉ParseExact期望一个两位数的小时,但是这个例子只提供了一个0.对于日期部分,你期望一个/作为分隔符,但你提供一个带有一个点的字符串。

您的输入似乎不确定。鉴于这种不确定性,我建议使用DateTime.TryParseExact而不是ParseExact。这允许您使用一组可能的输入格式来将解析调整为接收的确切格式

pkg-config

不确定一年之后的点是否是拼写错误。如果出现拼写错误,请将其从上面的格式中删除