asp.net 如何在GridView列中将DateTime格式化为短格式?

xvw2m8pv  于 2023-08-08  发布在  .NET
关注(0)|答案(1)|浏览(94)

我在Gridview(ASP.NET web应用程序)中有一个DateTime列,我想只显示日期部分。是否有一个DataformatString会给予我像'2023.07.27'这样的输出?我试过了

DataFormatString="{0:yyyy.MM.dd}"

字符串
但还是显示了时间部分先谢谢你了。

thigvfpy

thigvfpy1#

您发布的DataFormatString看起来正确。
这表示此处的数据源列不是SQL Server中的DateTime列。或者,在SQL视图或数据源中的某个位置,datetime列被(或已经)转换为字符串。
如果日期时间列被更改为字符串,“怎么会”?
然后,您可以尝试将它转换回日期时间,然后格式化该日期时间。
您必须从GridView中删除BoundField,然后采用模板化的列,例如:

<asp:TemplateField>
    <ItemTemplate>
        <asp:Label ID="lblBook" runat="server"
            Text='<%# 
            Eval("BookingDate").ToString() == ""  
            ? "" 
            : Convert.ToDateTime(Eval("BookingDate")).ToString("yyyy.MM.dd")  
            %>'>
        </asp:Label>
    </ItemTemplate>
</asp:TemplateField>

字符串
但是,最好是修复有问题的数据源。我会仔细检查该列,因为如果您向GridView提供了DateTime列,那么您发布的格式示例应该可以工作。
也许您需要提供额外的代码和标记,因为目前我们还没有足够的信息。

相关问题