asp.net应用程序中的日期格式

时间:2014-03-03 18:14:40

标签: asp.net

如何从表中检索日期并在gridview中显示? 我正在使用ajaxtoolkit:calenderextender,其日期格式为MM / dd / yyyy,因为我的服务器日期格式为MM / dd / yyyy。我使用此命令将日期字段插入数据库 DateTime.Parse(txtvdate.Text).ToString("yyyyMMdd")。现在我试图在网格视图中将其显示为MM / dd / yyyy。

aspx代码:

<asp:BoundField DataField = "Vdate" HeaderText = "Tran Date" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="false" /> 

1 个答案:

答案 0 :(得分:0)

我在下面提供了一个简单的示例:

如果您在数据库中将Date作为字符串,则将其强制转换为Datetime:

Let us consider two columns X and Y:

 X       Y

 1     03/04/2014
 2     05/04/2014

如果Y列是SQL数据库中的字符串数据类型:

在使用sql从表中选择时,如果数据类型为字符串,则将列y转换为Date:

在sql查询中进行转换使用如下:

   CAST('your string date' as DATETIME)

有关更多详细信息,请参阅以下链接,以便在SQL中将字符串转换为Datetime:

Casting in SQL

在数据表中投射:

Datatable dt_first包含X和Y列,如上表所示。

如果Y是字符串,请执行以下操作:

DataTable dtcloned = dt_first.Clone();
            dtcloned.Columns[1].DataType=typeof(DateTime); ---> converts the datatype of Y column to Datetime
            foreach (DataRow row in dt_new.Rows)
            {
                dtcloned.ImportRow(row);
            }

将克隆数据表绑定到GridView:

grid.DataSource = dtcloned;
grid.DataBind();

最后在GridView的BoundField中:

Y应为DateTime DataType。

 <asp:BoundField DataField="Y" HeaderText="Date" DataFormatString="{0:dd/MM/yyyy}" />

我认为这可以解决您的问题。