从字符串转换为DateTime时出现问题

时间:2015-08-27 14:13:52

标签: c# datetime

我在将字符串转换为DateTime时遇到问题。

我收到的价值为" 08-26-2015 10:14:57.898Z"。

我正在尝试将上面的字符串转换为DateTime。

我的代码:

DateTime.ParseExact(element.Value,"MM/dd/yyyy HH:mm:ss",CultureInfo.CurrentCulture);

例外: 字符串未被识别为有效的DateTime。

4 个答案:

答案 0 :(得分:2)

您的字符串格式与尝试转换的格式不同。

试试这个

var input = "08-26-2015 10:14:57.898Z";
var date = DateTime.ParseExact(input, "MM-dd-yyyy hh:mm:ss.fff'Z'", CultureInfo.InvariantCulture);

答案 1 :(得分:2)

您可以使用:

DateTime dt = DateTime.ParseExact("08-26-2015 10:14:57.898Z", "MM-dd-yyyy hh:mm:ss.fff'Z'", CultureInfo.InvariantCulture);

如果使用CultureInfo.CurrentCulture(或null),斜杠/具有特殊含义。它将替换为当前文化的日期分隔符。由于在美国不是-而是/,因此您会遇到异常。 Read

答案 2 :(得分:0)

你试过Convert.ToDateTime吗? 我只是尝试了你的字符串,它工作正常:

var s = "08-26-2015 10:14:57.898Z";
var date = Convert.ToDateTime(s);

答案 3 :(得分:0)

String s = "08-26-2015 10:14:57.898Z";
DateTime date;
DateTime.TryParse (s, out date);

现在date变量包含您需要的DateTime值。