用于将字符串转换为dd.mm.yyyy hh:mm的SqlDataSource更新语句

时间:2012-06-21 09:27:52

标签: c# asp.net sql-server

我有一个gridview和一个SqlDataSource

SqlDataSource的更新语句中,我试图将列的字符串转换为datetime:

Date = Convert(DateTime, @Date, 104) 
//this converts the string to mm.dd.yyyy .

我找不到mm.dd.yyyy hh:mm .

的代码

4 个答案:

答案 0 :(得分:1)

要使用所需格式在网格中显示它,请使用yourDate.ToString(yourFormat),例如:

DateTime.Today.ToString("mm.dd.yyyy")

答案 1 :(得分:1)

您的问题表明您正在使用GridView和DataSource。

我假设您的源数据在SQL Server中采用DateTime格式 如果是这样,请将其保留为该格式,否则,在返回时将其转换为DateTime。

尝试将其转换为SQL Server端上的字符串或运行对DataTable的传递并使用C#将其转换为字符串。这是错误的做法。

您需要做的就是在GridView的BoundField列上设置 DataFormatString ,如下所示:

BoundField bf = new BoundField();
bf.DataField = "xxxxx";//The field from your DataSource you are binding to.
bf.HeaderText = "yyyyy";//The column header text of your GridView.
bf.DataFormatString = "{0:MM.dd.yyyy hh:mm}";
gv.Columns.Add(bf);//Add the column to your GridView.

答案 2 :(得分:0)

DateTime MyDateTime;

MyDateTime = new DateTime();
MyDateTime = DateTime.ParseExact(MyString, "MM.dd.yyyy hh:mm",

答案 3 :(得分:0)

CONVERT(varchar(17),Date,113)

使用它,它将获得,2011年11月29日12:58

或者使用它;

SELECT CONVERT(varchar(17),OrderDate,105)+' '+CONVERT(varchar(17),OrderDate,108) as Date FROM Orders

它会; 29-11-2011 12:58:48