如何将字符串转换为特定的DateTime格式?

时间:2014-04-02 14:50:55

标签: c# .net datetime

您好我将字符串转换为DateTime变量但获得异常。 请告诉我这种方法有什么问题?

string str = "24-04-2014T15:18:18";
DateTime dtStartDateTime = DateTime.ParseExact(stime, "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture);

例外是:

  

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

2 个答案:

答案 0 :(得分:7)

改为使用dd-MM-yyyyTHH:mm:ss格式。您的字符串和格式不完全匹配。

来自DateTime.ParseExact method

  

将指定的日期和时间字符串表示形式转换为它   DateTime等效使用指定的格式和特定​​于文化   格式信息。 字符串表示的格式必须匹配   完全符合指定的格式。

string str = "24-04-2014T15:18:18";
DateTime dtStartDateTime = DateTime.ParseExact(str,
                                    "dd-MM-yyyyTHH:mm:ss",
                                     CultureInfo.InvariantCulture);

这里有 demonstration

顺便说一下,我认为您的stime应为str:)

答案 1 :(得分:2)

好的,所以如果我理解这个问题,我认为这就是你需要的:

string str = "24-04-2014T15:18:18";
DateTime dtStartDateTime = DateTime.ParseExact(str, "dd-MM-yyyyTHH:mm:ss", CultureInfo.InvariantCulture);
string stime = dtStartDateTime.ToString("yyyy-MM-ddTHH:mm:ss");

这将采用第一种格式的文字,并为您提供第二种格式。