0

我有一个网格视图和一个SqlDataSource.

SqlDataSource's update 语句中,我试图将列的字符串转换为日期时间:

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

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

4

4 回答 4

1

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

DateTime.Today.ToString("mm.dd.yyyy")
于 2012-06-21T09:35:20.587 回答
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.
于 2012-06-21T23:02:54.757 回答
0
DateTime MyDateTime;

MyDateTime = new DateTime();
MyDateTime = DateTime.ParseExact(MyString, "MM.dd.yyyy hh:mm",
于 2012-06-21T09:40:33.537 回答
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

于 2012-06-21T09:42:54.447 回答