从文本框捕获日期格式的数据

时间:2013-11-24 05:09:53

标签: c# parsing datetime

我有一个表格,在用户输入检查日期为2013年11月22日(dd-mm-yyyy)

DateTime dt = DateTime.Parse(txtChequeDated.Text); // Error here
frmChqDt = dt.ToString("DD/MM/YYYY");

错误:字符串未被识别为有效的DateTime

请咨询

3 个答案:

答案 0 :(得分:0)

您需要为日期和年份指定适当的自定义格式

自定义格式:

  

日期=> DD
   月=> MM
  年=> YYYY

指定可以使用TryParseExact的确切格式:

语法:DateTime.TryParseExact(date,format,IFormatProvider,DateTimeStyles,out dateparameter)

试试这个:

DateTime result;  
if(DateTime.TryParseExact(txtChequeDated.Text,"dd/MM/yyyy",System.Globalization.CultureInfo.InvariantCulture,System.Globalization.DateTimeStyles.None,out result))
{
  frmChqDt = result.ToString("dd/MM/yyyy");
}   

答案 1 :(得分:0)

您可以使用正则表达式验证输入。

请参阅c#中的this function以使用此方法进行验证。

答案 2 :(得分:0)

试试这个:

DateTime.ParseExact("22/11/2013","dd/MM/yyyy", System.Globalization.CultureInfo.CurrentUICulture);

顺便说一下,刚发现一篇关于C#DateTime格式的文章:

http://www.csharp-examples.net/string-format-datetime/