2013-08-27 61 views
-6

enter image description here错误: - 字符串未被识别为有效日期时间

请与我联系,如何处理此错误。 :(我已经尝试了很多方法,但他们都不能解决它。

+0

你读过[文档](http://msdn.microsoft.com/en-us/library/9xk1h71t.aspx)? – Sayse

+12

**'六月'只能达到'30' **而不是31. –

+2

@ 491243良好的发现!和OP,请下次将您的代码作为文本粘贴,而不是作为图像。 –

回答

1

试试这个,告诉我它是否有效,请更改06/31到06/30六月只有30天谢谢

this.Text="30/06/2013";  
DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy",CultureInfo.InvariantCulture); 
+0

我把无效的日期。这是错误。谢谢:) – tishantha

+1

不变的文化是['CultureInfo.InvariantCulture'](http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture.aspx)而不是'CultureInfo.InvariantInfo'; - ) –

+0

@TimSchmelter谢谢。 – user2705620

0

你必须改变"2013/06/31""2013/06/30"自6月份以来只有30天(如其他已经提到)。

但你还需要使用ParseExactCultureInfo.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 
} 
+0

谢谢.. :)无效日期“2013/06/31”。这是错误。 – tishantha

+0

@ user2549153:请注意,您应该使用'DateTime.TryParseExact'来检查日期是否有效。相应地编辑[我的答案](http://stackoverflow.com/a/18459191/284240)。 –

相关问题