Asp.net 用C语言将字符串日期转换为系统日期时间#

Asp.net 用C语言将字符串日期转换为系统日期时间#,asp.net,datetime,c#-4.0,Asp.net,Datetime,C# 4.0,我想在C#中将字符串日期转换为系统日期时间。用户通过文本框输入日期,并将其转换为日期时间。我编辑了以下代码,但它不工作 DateTime ToDate = Convert.ToDateTime(txtToDate.Text); DateTime FromDate = DateTime.Parse(txtFromDate.Text); 它显示了以下异常 “字符串未被识别为有效的日期时间。” 如何做到这一点…?无论用户在文本框中输入什么,都应该是有效的日期格式,否则编写自己的函数以使其成为有效的格

我想在C#中将字符串日期转换为系统日期时间。用户通过文本框输入日期,并将其转换为日期时间。我编辑了以下代码,但它不工作

DateTime ToDate = Convert.ToDateTime(txtToDate.Text);
DateTime FromDate = DateTime.Parse(txtFromDate.Text);
它显示了以下异常 “字符串未被识别为有效的日期时间。”


如何做到这一点…?

无论用户在文本框中输入什么,都应该是有效的日期格式,否则编写自己的函数以使其成为有效的格式。然后将其转换为日期时间格式

对于不同的格式,您可以检查以下内容:

有关更多帮助,您可以在此网站上查看类似问题:

无论用户在文本框中输入什么,都应使用有效的日期格式,否则请编写自己的函数,使其使用有效的格式。然后将其转换为日期时间格式

对于不同的格式,您可以检查以下内容:

有关更多帮助,您可以在此网站上查看类似问题:

要求用户以特定格式在文本框中输入日期时间,即
“ddmmyyyhhmmss”
“dd/MM/yyyyy 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 ToDate=DateTime.ParseExact(txtToDate.Text,
System.Globalization.CultureInfo.CurrentCulture,System.Globalization.DateTimeStyles.None)

相反,如果上述编码变得复杂,那么您也可以尝试

要求用户在文本框中输入特定格式的日期时间,即
“ddMMyyyyhhmmss”
“dd/MM/yyyyy hh:MM:ss tt”
“dd-MM-yyyyy hh:MM:ss tt”
或其他一些格式,并使用以下代码的帮助将其转换为有效的日期时间

 DateTime ToDate = DateTime.ParseExact(txtToDate.Text, <User DateTime format as String>,
 System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None)
DateTime ToDate=DateTime.ParseExact(txtToDate.Text,
System.Globalization.CultureInfo.CurrentCulture,System.Globalization.DateTimeStyles.None)
相反,如果上述编码变得复杂,那么您也可以尝试使用。通过这种方式,您可以指定输入字符串的格式,以便正确解析输入字符串,例如:

dateString = "Sun 15 Jun 2008";
format = "ddd dd MMM yyyy";
try 
{
  DateTime result = DateTime.ParseExact(dateString, format, CultureInfo.CurrentCulture);
}
catch (FormatException) 
{

}
你可以用。通过这种方式,您可以指定输入字符串的格式,以便正确解析输入字符串,例如:

dateString = "Sun 15 Jun 2008";
format = "ddd dd MMM yyyy";
try 
{
  DateTime result = DateTime.ParseExact(dateString, format, CultureInfo.CurrentCulture);
}
catch (FormatException) 
{

}

当然,您可以解析用户的输入,并依靠用户始终输入正确的日期。但是我建议使用一个特定的控件来输入日期,例如


通过使用这样的控件,您可以防止无效输入,而且对用户来说也容易得多。如果您搜索DatePicker或类似的控件,我相信您可以找到很多其他类似的控件。

您当然可以解析用户的输入,并依靠用户始终输入正确的日期。但是我建议使用一个特定的控件来输入日期,例如


通过使用这样的控件,您可以防止无效输入,而且对用户来说也容易得多。如果您搜索DatePicker或类似控件,我相信您可以找到许多其他类似控件。

首先,您必须验证文本框值是否有效,您可以为此使用ajax MaskedItemXtender控件并限制使用enter only require date formate。

首先,您必须验证文本框值是否有效,您可以使用ajax MaskedItemXtender控件并限制使用enter only require date formate。

DateTime dt=Convert.ToDateTime(日期);
这里日期是字符串。

DateTime dt=Convert.ToDateTime(日期);

这里日期是字符串。

它是否引发异常?它如何“不工作”?你有异常吗?@kalyan@Edwin de Koning我已经编辑了我的问题..看看..你能举一些datetime字符串不起作用的例子吗?它是否引发异常?它是如何“不起作用”的?你有例外吗?@kalyan@Edwin de Koning我已经编辑了我的问题..看看..你能给出一些不起作用的日期时间字符串的例子吗?如果每个系统有不同的日期时间格式,会有问题吗?我想会的。您最好强制您的最终用户使用特定格式,例如使用MaskedTextbox…用户使用ajax日历扩展器输入日期…使用(MM/dd/yyyy格式,例如今天的日期为9/27/2011)@Chirag Fanse:如果选择9/9/2011,是否有效?也许它试图将您的日期解析为27个月的第9天……也许我有点傻,但是MM/dd/yyyy的输入不应该是2011年9月27日而不是2011年9月27日吗?如果每个系统的日期时间格式不同,会有问题吗?我想会的。您最好强制您的最终用户使用特定格式,例如使用MaskedTextbox…用户使用ajax日历扩展器输入日期…使用(MM/dd/yyyy格式,例如今天的日期为9/27/2011)@Chirag Fanse:如果选择9/9/2011,是否有效?也许它试图将您的日期解析为27个月的第9天……也许我有点傻,但是MM/dd/yyyy的输入不应该是2011年9月27日,而不是2011年9月27日吗?@Pranav.。日期是以有效的日期时间格式输入的,即MM/dd/yyyy(例如今天是2011年9月27日),如果仍然有问题,请尝试使用datetime.TryParse()@Pranav..正在以有效的日期时间格式输入日期,即MM/dd/yyyy(例如今天的日期为2011年9月27日),如果仍然存在问题,请尝试使用datetime.TryParse();