如何在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给了文本框。
请告知。
答案 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");
答案 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);