2016-10-17 60 views
0

如何转换2016-10-07T15:21dd/mm/yyyy HH:mm格式我与DateTime.ParseExact它给错误日期时间转换使用C#

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

+3

请参见[问]和[MCVE。 – Mat

+2

可能重复的[转换日期时间格式c#](http://stackoverflow.com/questions/29070397/convert-datetime-format-c-sharp) – Mat

+0

这个问题可能会很快被重复关闭。如果来自重复项目的答案没有完全解决您的问题,请对其进行编辑以包括原因并将其标记为重新打开。谢谢! – Mat

回答

-1

你可以试试下面的代码: -

DateTime dt=DateTime.ParseExact("2016-10-07T15:21", "dd/MM/yyyy", CultureInfo.InvariantCulture); 

编辑: -

不好意思刚看到 “HH:MM”,下面的代码会为你工作: -

DateTime dt = DateTime.Parse("2016-10-07T15:21"); 
string answer = dt.ToString("dd/mm/yyyy hh:mm"); 
+0

string answer = dt.ToString(“dd/MM/yyyy hh:mm”); –

+0

如果它适合您,请将其标记为答案。 –

0

这应该做你想做的事:

DateTime dt = DateTime.Parse("2016-10-07T15:21"); 
string convertedDateString = dt.ToString("dd/MM/yyyy HH:mm"); 

Ideone链接,例如使用

0
DateTimeOffset.ParseExact("2015-07-09T08:38:49-07:00", "dd/MM/yyyy HH:mm",CultureInfo.InvariantCulture) 
0

首先需要转换的字符串加时赛一个真正的日期时间,那么你可以使用DateTime.ToString用正确的格式字符串。请注意,/ is a custom format specifier默认情况下将被本地日期分隔符替换。您可以通过提供DateTimeFormatInfo.InvariantInfo作为第二个参数避免这一缺陷:

string input = "2016-10-07T15:21"; 
DateTime realDateTime = DateTime.Parse(input); // works in this case, if the input can be invalid use DateTime.TryParse or DateTime.TryParseExact 
string output = realDateTime.ToString("dd/MM/yyyy HH:mm", DateTimeFormatInfo.InvariantInfo); // dd/mm/yyyy HH:mm