请给我打电话,如何处理此错误。 :(我已经尝试了很多方法,但没有一个能够解决它。
答案 0 :(得分:1)
试试这个并告诉我它是否有效并请将06/31更改为06/30 6月只有30天谢谢
this.Text="30/06/2013";
DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy",CultureInfo.InvariantCulture);
答案 1 :(得分:0)
您必须将"2013/06/31"
更改为"2013/06/30"
,因为6月只有30天(正如其他人已经提到的那样)。
但您还需要将ParseExact
与CultureInfo.InvariantCulture
一起使用。否则,您当前的文化用于获取日期分隔符,该日期分隔符不一定是/
(在许多国家/地区.
)。
所以这个works与任何文化:
DateTime.ParseExact("2013/06/30", "yyyy/MM/dd", CultureInfo.InvariantCulture)
The "/" Custom Format Specifier
如果要验证给定的日期字符串,可以使用DateTime.TryParseExact
:
DateTime dt;
if(DateTime.TryParseExact("2013/06/31", "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
// success, dt contains the correct date now
}
else
{
// not a valid date
}