如何在asp.net c#中将文本框字符串转换为日期时间?

时间:2016-06-15 07:16:45

标签: c# asp.net datetime

如何在asp.net c#?

中将文本框字符串转换为datetime

我试过了:

DateTime d2 = Convert.ToDateTime(tbx_Created.Text);
string createdformatted = d2.ToString("MM/dd/yyyy hh:mm:ss tt");
DateTime CreatdDate = DateTime.ParseExact(tbx_Created.Text, "MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture); 

但是它显示了这个错误:

  

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

我已经将15-6-2016给了文本框。

请告知。

7 个答案:

答案 0 :(得分:1)

对于"15-6-2016"输入,日期时间模式应为"d-M-yyyy"

   DateTime CreatdDate = DateTime.ParseExact(tbx_Created.Text, 
     "d-M-yyyy", 
     System.Globalization.CultureInfo.InvariantCulture); 

您可以尝试一次性应用几个模式,如下所示:

   DateTime CreatdDate = DateTime.ParseExact(tbx_Created.Text, 
     new String[] {
       "MM/dd/yyyy hh:mm:ss tt", // your initial pattern, recommended way
       "d-M-yyyy"},              // actual input, tolerated way
     System.Globalization.CultureInfo.InvariantCulture,
     DateTimeStyles.AssumeLocal); 

答案 1 :(得分:1)

您可以像这样解析用户输入:

DateTime enteredDate = DateTime.Parse(enteredString);

如果您有特定的字符串格式,则应使用其他方法:

DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);

您的格式输入应与Exact:

匹配
DateTime.ParseExact("24/01/2013", "dd/MM/yyyy");

source

答案 2 :(得分:0)

您正在使用MM月份,而月份值6不是06,因此您需要使用M一个月。

DateTime dt = DateTime.Now;
DateTime.TryParseExact(tbx_Created.Text, "dd-M-yyyy", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);

答案 3 :(得分:0)

DateTime CreatdDate = DateTime.ParseExact(tbx_Created.Text, "d-M-yyyy", null);

答案 4 :(得分:0)

使用ParseExact精确格式解析。但在解析之前检查它是否正在使用TryParseExact

进行解析
if (!DateTime.TryParseExact("15-6-2016", "dd-M-yyyy",null))
{
    myDate = DateTime.ParseExact("15-6-2016", "dd-M-yyyy", null);
    Console.WriteLine(myDate);
}

答案 5 :(得分:0)

DateTime d2= DateTime.Parse(tbx_Created.Text);

更好的方法是:

DateTime d2;
if (!DateTime.TryParse(tbx_Created.Text, out myDate))
{
    // handle parse failure
}

答案 6 :(得分:0)

DateTime datetime = Convert.ToDateTime(txbx_created.Text);
String CurrentTime = String.Format("{0:MM/dd/yyyy HH:mm}", datetime);