【问题标题】:DataTable Format数据表格式
【发布时间】: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


【解决方案1】:

使用table.Rows[i]["LimitDate"]=cl.SelectedDate.Day.ToString("dd/mm/yyyy");

或者取一个dd/mm/yyyy h:mm:ss格式字符串的子串

【讨论】:

    猜你喜欢
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2019-04-14
    • 2020-11-21
    • 1970-01-01
    相关资源
    最近更新 更多