【发布时间】:2016-11-17 14:50:18
【问题描述】:
我有一个问题。我正在使用 asp.net c#,我想更改 DataTable 的日期格式。数据表来源于SQL,执行为dd/mm/yyyy h:mm:ss,我想改成dd/mm/yyyy。如果我在 SQL 中执行查询,我会得到我希望的格式,问题出在 DataTable 中。另外,我将数据表设置为 ReportViwer。谢谢。
编辑:这是我为数据表提供格式的代码
DataTable table=(get the source from SQL);
for (int i = 0; i < tabla.Rows.Count;i++)
{
string date= "";
Calendar cl = new Calendar();
date= table.Rows[i]["LimitDate"]= .ToString();
cl.SelectedDate = System.DateTime.Parse(date);
table.Rows[i]["LimitDate"]= cl.SelectedDate.Day.ToString()
+ "/" + cl.SelectedDate.Month.ToString()
+ "/" + cl.SelectedDate.Year.ToString();
}
如果我为 GridView 运行下面的代码,它就可以工作。但是,对于 DataTable,它不起作用
【问题讨论】:
-
如何将数据输出给用户?肯定有某个地方可以包含一个格式字符串来自定义
DateTime值吗? -
您应该显示用于将数据检索到数据表中的代码,以及描述列类型。
-
我已经添加了代码,所以你可以看到它
-
如果您使用动态 sql、视图或存储过程来获取数据表,您可以将日期直接格式化到 sql 中,这样您就可以避免再次分配数据表来格式化您的日期..
-
您发布的代码无法编译。无论如何,看起来您将日期作为字符串存储在数据库中。您应该为您的数据库使用适当的数据类型,例如用于 SQL Server 的
datetime。只有在准备好将日期呈现给用户时,才应将日期格式化为字符串。
标签: c# sql asp.net datatable date-format