日期转换为yyyy-mm-dd
问题描述:
cmd.Parameters.Add(“@ StartDate”,SqlDbType.DateTime).Value = DateTime.Parse(txtStartDate.Text);日期转换为yyyy-mm-dd
在txtStartDate.Text值是像2012-07-31
我需要得到它为2012-07-31。
用于存储过程中的处理。
我的代码是这样的:
cmd = new SqlCommand("DownloadtoXLSheet", conn);
cmd.Parameters.Add("@StartDate", SqlDbType.DateTime).Value = DateTime.Parse(txtStartDate.Text);
cmd.Parameters.Add("@EndDate", SqlDbType.DateTime).Value = DateTime.Parse(txtEndDate.Text);
cmd.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = DropDownList1.Text.ToString();
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt1);
帮我出
答
使用DateTime.ParseExact
方法,而不是DateTime.Parse
。
DateTime result=DateTime.ParseExact("31-07-2012", "dd-MM-yyyy",CultureInfo.InvariantCulture);
答
尝试
DateTime dt = ...;
dt.ToString("yyyy-MM-dd");
答
在的ToString()方法,你可以指定一个格式字符串 http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx
DateTime.Parse(txtStartDate.Text).ToString("yyyy-MM-dd")
答
首先,你不需要在日期在存储过程/数据库中处理的特定格式。一旦将DateTime添加为DateTime类型的参数,SQL提供程序将确保SQL Server可以处理日期。
另一方面,您可能需要DateTime.Parse的特定格式的日期才能工作。
尝试:
DateTime.ParseExact(input, "dd-MM-yyyy", CultureInfo.InvariantCulture);
但是,也许你应该使用DateTime.TryParseExact
代替,以避免异常?
[格式化任何字符串为字符串“yyyy/MM/dd”](http://*.com/questions/9806967/formatting-any-string-to-string-yyyy-mm-dd) – LittleBobbyTables 2012-07-31 12:38:27
@LittleBobbyTables或[此问题](http://*.com/q/4250745/869912)。 – 2012-07-31 13:03:03