我想在C#中将字符串日期转换为系统日期时间。用户通过文本框输入日期,并将其转换为日期时间。我TRID下面的代码,但它不工作...在C中将字符串日期转换为系统日期时间#
DateTime ToDate = Convert.ToDateTime(txtToDate.Text);
DateTime FromDate = DateTime.Parse(txtFromDate.Text);
它显示了以下异常 “字符串未被识别为有效的DateTime。”
如何做到这一点...... ???
我想在C#中将字符串日期转换为系统日期时间。用户通过文本框输入日期,并将其转换为日期时间。我TRID下面的代码,但它不工作...在C中将字符串日期转换为系统日期时间#
DateTime ToDate = Convert.ToDateTime(txtToDate.Text);
DateTime FromDate = DateTime.Parse(txtFromDate.Text);
它显示了以下异常 “字符串未被识别为有效的DateTime。”
如何做到这一点...... ???
你可以使用DateTime.ParseExact()
。这样,你可以指定输入字符串的格式,所以它会被正确解析,例如:
dateString = "Sun 15 Jun 2008";
format = "ddd dd MMM yyyy";
try
{
DateTime result = DateTime.ParseExact(dateString, format, CultureInfo.CurrentCulture);
}
catch (FormatException)
{
}
..如果每个系统有不同的日期时间格式,它会产生任何问题吗? –
我想会。您最好强迫最终用户使用特定格式,例如使用MaskedTextbox。 –
不能使用此方法..仍然显示相同的错误.. –
无论用户在您的文本框中输入的应该是有效的日期格式,否则编写自己的函数使其以有效的格式。然后将其转换为DateTime格式。
为不同的格式,你可以检查此: http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx
更多的帮助,您可以在本网站查询类似的问题: Validate a DateTime in C#
@ Pranav ..日期以有效日期时间格式输入,即MM/dd/yyyy(例如,今天9/27/2011) –
如果仍然出现问题,请尝试使用DateTime.TryParse(); – Pranav
要求用户以特定的格式输入他的日期时间到文本框即,或者"ddMMyyyyhhmmss"
或"dd/MM/yyyy hh:mm:ss tt"
或"dd-MM-yyyy hh:mm:ss tt"
或其他一些格式,并使用以下代码的帮助将其转换为有效日期时间。
DateTime ToDate = DateTime.ParseExact(txtToDate.Text, <User DateTime format as String>,
System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None)
相反,如果上面的编码,使复杂的,那么你可以尝试DateTime.TryParse()也
当然你可以分析用户的输入,并依赖于用户始终输入正确的日期。但我建议使用特定的控件输入日期,例如calendar control of the ajax control toolkit。
通过使用这样的控件,您可以防止无效输入并且对用户来说也更容易。如果你搜索DatePicker或类似的,我相信你可以找到很多其他类似的控件。
DateTime dt = Convert.ToDateTime(date); 这里的日期是字符串。
它是否抛出任何异常? –
它是如何“不工作”?你有例外吗? –
@ kalyan @ Edwin de Koning我已编辑我的问题..查看它.. –