How to convert a Textbox String to a Datetime in asp.net c#?
本问题已经有最佳答案,请猛点这里访问。
如何在asp.net c#中将文本框字符串转换为datetime?
我试过这个:
1 2 3 | 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); |
但它显示了这个错误:
String was not recognized as a valid DateTime
我把15-6-2016给了文本框。
请指教。
您可以像这样解析用户输入:
1 | DateTime enteredDate = DateTime.Parse(enteredString); |
如果您具有该字符串的特定格式,则应使用其他方法:
1 | DateTime loadedDate = DateTime.ParseExact(loadedString,"d", null); |
您的格式输入应与Exact匹配:
1 | DateTime.ParseExact("24/01/2013","dd/MM/yyyy"); |
资源
对于
1 2 3 | DateTime CreatdDate = DateTime.ParseExact(tbx_Created.Text, "d-M-yyyy", System.Globalization.CultureInfo.InvariantCulture); |
您可以尝试一次应用多个模式,如下所示:
1 2 3 4 5 6 | 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 2 | DateTime datetime = Convert.ToDateTime(txbx_created.Text); String CurrentTime = String.Format("{0:MM/dd/yyyy HH:mm}", datetime); |
1 | DateTime d2= DateTime.Parse(tbx_Created.Text); |
更好的方法是:
1 2 3 4 5 | DateTime d2; if (!DateTime.TryParse(tbx_Created.Text, out myDate)) { // handle parse failure } |
使用ParseExact以精确格式解析。 但在解析之前检查它是否正在解析将使用TryParseExact有效
1 2 3 4 5 | if (!DateTime.TryParseExact("15-6-2016","dd-M-yyyy",null)) { myDate = DateTime.ParseExact("15-6-2016","dd-M-yyyy", null); Console.WriteLine(myDate); } |
1 | DateTime CreatdDate = DateTime.ParseExact(tbx_Created.Text,"d-M-yyyy", null); |
您使用
1 2 | DateTime dt = DateTime.Now; DateTime.TryParseExact(tbx_Created.Text,"dd-M-yyyy", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None, out dt); |