C# 转换为错误的日期格式

C# 转换为错误的日期格式,c#,asp.net,C#,Asp.net,我只需要将我的字符串2014年6月15日转换为日期,但我失败了(字符串格式错误)。我需要将格式设置为我的转换方法,然后再执行此操作,我尝试了此操作 EndDay = Convert.ToDateTime(strEndDayToString("dd-MM-yyyy")); EndDay = Convert.ToDateTime(strEndDay).ToString("dd-MM-yyyy"); 不起作用,因为Convert希望得到这样的字符串2014年6月15日,但我有2014年6月15日,因

我只需要将我的字符串2014年6月15日转换为日期,但我失败了(字符串格式错误)。我需要将格式设置为我的转换方法,然后再执行此操作,我尝试了此操作

EndDay = Convert.ToDateTime(strEndDayToString("dd-MM-yyyy"));
EndDay = Convert.ToDateTime(strEndDay).ToString("dd-MM-yyyy");

不起作用,因为Convert希望得到这样的字符串
2014年6月15日
,但我有2014年6月15日,因此如何使用Convert with string2014年6月15日

在这种情况下,文档可能会有所帮助。据我所知,datetime对象的所有格式化都来自字符串操作

为了达到美国日期,我看到了一个例子

// Display using current (en-us) culture's short date format
DateTime thisDate = new DateTime(2008, 3, 15);
Console.WriteLine(thisDate.ToString("d"));           // Displays 3/15/2008
单个“d”表示“短日期格式”


尝试使用以下方法分析
DateTime


您的
Convert.ToDateTime
抛出
FormatException
?顺便问一下,你的
CurrentCulture
是什么?试试Datetime.parse()@EA
Convert.ToDateTime
已经显式地使用了
Datetime.parse()
。@SonerGönül是的,你是对的,但在我遇到同样的问题之前,但在更改它之后“9/6/2014”字符串未被识别为有效的日期时间。我也犯了同样的错误。对不起,我的错。尝试将日期格式更改为
d/M/yyyy
6/15/2009 1:45:30 PM -> 6/15/2009 (en-US)
DateTime EndDay = DateTime.ParseExact(strEndDay, "d/M/yyyy", CultureInfo.InvariantCulture);