错误:在c#中转换为日期格式时,字符串未被识别为有效的DateTime

iJa*_*ade 2 c# asp.net datetime date

这是我正在尝试格式化的日期时间格式.我从twitter apis获取此日期格式

string date = "Thu Jul 18 17:39:53 +0000 2013"
Run Code Online (Sandbox Code Playgroud)

我试过了

Convert.ToDateTime(date).ToString("dd/MM/yyyy")
Run Code Online (Sandbox Code Playgroud)

但它说 String was not recognized as a valid DateTime.

Tim*_*ter 7

这有效:

DateTime.ParseExact(dtStr, "ddd MMM dd HH:mm:ss zzzz yyyy", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

ParseExactTryParseExact允许使用自定义格式字符串.ddd是简写的日期名,MMM缩写的月份名称,dd天数,HH在24小时时钟格式,小时mm分,ss秒,zzzz时区yyyy多年.

我曾经习惯于CultureInfo.InvariantCulture指定当前的文化没有被使用但是InvariantCulture类似于"en-US".

Demo

工作,但从你的代码行获取日期后,我试图做date.ToString("dd/mm/yyyy"),但得到字符串为12-12-2013,没有斜杠

/是显示当前文化的日期分隔符的替换字符-.因此,还要使用CultureInfo.InvariantCulture指定在不使用当前文化的情况下使用分隔符:

string result = dateTime.ToString("dd/mm/yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

请参阅:"/"自定义格式说明符