回答
试试这个,告诉我它是否有效,请更改06/31到06/30六月只有30天谢谢
this.Text="30/06/2013";
DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy",CultureInfo.InvariantCulture);
我把无效的日期。这是错误。谢谢:) – tishantha
不变的文化是['CultureInfo.InvariantCulture'](http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture.aspx)而不是'CultureInfo.InvariantInfo'; - ) –
@TimSchmelter谢谢。 – user2705620
你必须改变"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
}
谢谢.. :)无效日期“2013/06/31”。这是错误。 – tishantha
@ user2549153:请注意,您应该使用'DateTime.TryParseExact'来检查日期是否有效。相应地编辑[我的答案](http://stackoverflow.com/a/18459191/284240)。 –
- 1. 字符串未被识别为有效的日期时间
- 2. 字符串未被识别为有效日期时间
- 3. 字符串未被识别为有效的日期时间phpMyAdmin
- 4. 字符串未被识别为有效日期时间
- 5. 字符串未被识别为有效日期时间
- 6. 字符串未被识别为有效日期时间
- 7. 字符串未被识别为有效的日期时间
- 8. 字符串未被识别为有效日期时间格式
- 9. 字符串datetime:未被识别为有效的日期时间
- 10. 字符串未被识别为有效的日期时间
- 11. 字符串未被识别为有效的日期时间
- 12. 字符串未被识别为有效的日期时间[ASP.NET]
- 13. 字符串未被识别为有效的日期时间
- 14. 字符串未被识别为有效日期时间
- 15. System.FormatException:字符串未被识别为有效的日期时间
- 16. C# - 字符串未被识别为有效日期时间
- 17. 字符串未被识别为有效日期时间
- 18. 字符串未被识别为有效日期时间
- 19. 字符串未被识别为有效的日期时间。
- 20. 字符串未被识别为有效日期时间
- 21. 字符串未被识别为有效的日期时间
- 22. 字符串未被识别为有效日期时间
- 23. Convert.ToDateTime“字符串未被识别为有效的日期时间”错误
- 24. Postgresql错误:字符串未被识别为有效的日期时间
- 25. 错误:字符串未被识别为有效的日期时间
- 26. c#DateTime转换错误 - 字符串未被识别为有效日期时间
- 27. 字符串未被识别有效日期时间
- 28. 字符串没有被识别为有效的日期时间
- 29. 字符串在插入期间未被识别为有效的日期时间
- 30. 字符串未被识别为日期时间的有效分析字符串
你读过[文档](http://msdn.microsoft.com/en-us/library/9xk1h71t.aspx)? – Sayse
**'六月'只能达到'30' **而不是31. –
@ 491243良好的发现!和OP,请下次将您的代码作为文本粘贴,而不是作为图像。 –