首页 > 解决方案 > 在 asp.net 数据表中将日期时间对象转换为仅日期格式

问题描述

标签: c#asp.netdatetimedatatable

解决方案


您似乎正在处理后端代码中的 UI 问题。这应该在 UI 端解决,而不会影响您的实际数据。您可以通过将格式应用于绑定的列或模板来完成此操作:

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

或者

<asp:TemplateField HeaderText ="Purchase Date" >
   <ItemTemplate >
   <asp:Label ID="lblDate" runat="server" 
              Text='<%# Eval("PurchaseDate", "{0:MM/dd/yyyy}") %>' />
    </ItemTemplate>
</asp:TemplateField>

编辑:

@DineshInavolu 为什么不试试 rowdatabound 事件和 TryParse?

void OrderGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{        
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        DateTime? dateValue = null;
        if(!DateTime.TryParse(e.Row.Cells[1].Text, out dateValue))
            e.Row.Cells[1].Text = dateValue.Value.ToString("MM/dd/yyyy");        
    }
}

推荐阅读