【问题标题】:Format DateTime Data Display In Grid View在网格视图中格式化日期时间数据显示
【发布时间】:2013-12-16 13:30:15
【问题描述】:

我正在尝试从 Asp.Net 的数据库中检索 DateTime 数据类型数据。代码如下:

DateTime date = DateTime.Parse(dr["packingDate"].ToString());

但是,问题是我检索到的日期以这种格式显示:26/11/2013 12.00 AM。我只想显示日期而不是时间。我试过这样做:

DateTime date = DateTime.Parse(dr["packingDate"].ToString());
string dateStr = date.ToString("dd/M/yyyy", CultureInfo.InvariantCulture);

但是,它在我的网格视图中不起作用。我想知道为什么会这样?

提前致谢。

【问题讨论】:

  • 您可以只使用DateTime.ToShortDateString(MSDN:msdn.microsoft.com/en-us/library/…)
  • 能否请您使用整个单词作为变量名?这对阅读问题的人会很有礼貌。谢谢。

标签: asp.net sql datetime


【解决方案1】:

使用内置的字符串函数来处理日期值...

DateTime.ToShortDateString();

【讨论】:

    【解决方案2】:

    从数据库中选择正确的类型,因此在本例中为datetime。然后你会在你的DataTable 中得到一个DateTime,你可以使用DataRow 的Field 扩展方法进行转换:

    DateTime date = dr.Field<DateTime>("packingDate");
    

    如果你只想显示日期:

    string dateOnly = dr.Field<DateTime>("packingDate").ToShortDateString();
    

    或

    string dateOnly = dr.Field<DateTime>("packingDate").ToString("d");
    

    或

    string dateOnly = dr.Field<DateTime>("packingDate").ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
    

    【讨论】:

      【解决方案3】:

      您可以在GridView 控件上进行格式化,例如:

      <asp:BoundField DataField="packingDate" HeaderText="PackingDate" 
                          DataFormatString="{0:dd-M-yyyy}"  />
      

      【讨论】:

      • 谢谢!有用!差点忘了可以在源码处格式化一下。
      猜你喜欢
      • 2011-08-14
      • 2019-03-10
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 2017-03-22
      • 1970-01-01
      • 2019-07-15
      相关资源
      最近更新 更多