这是我的物品模板
<asp:Label ID="lblDF" runat="server" Text='<%# Eval("DateLong","{0:d}")%>'></asp:Label>
如何将 DateLong(返回 int)转换为日期格式(MM/dd/yyyy)?我知道代码隐藏中有一种解决方法。但是是否可以通过在代码块中使用其他函数来实现?
提前致谢
你可以试试这样...
<asp:Label ID="lblDF" runat="server" Text='<%#Convert.ToDateTime(
Eval("DateLong")).ToString("MM/dd/yyyy") %>'></asp:Label>
编辑为 DateLong 是整数..
<asp:Label ID="lblDF" runat="server" Text='<%#
DateTime.ParseExact(Eval("DateLong").ToString(), "yyyyMMdd",//Specify the format in which date stored in database
System.Globalization.CultureInfo.InvariantCulture).ToString("MM/dd/yyyy");
%>'></asp:Label>
Edit2 DateLong 的格式是与给定默认日期的 db..
<asp:Label ID="lblDF" runat="server" Text='<%#
Convert.ToDateTime("1890-01-01").AddDays(3652+Convert.ToInt32(Eval("DateLong"))).ToString("MM/dd/yyyy")
%>'></asp:Label>
我试过了
Text='<%#Convert.ToDateTime(Eval("DateLong")).ToString("MM/dd/yyyy") %>'
它工作正常,但是当它有一个空值时,它会抛出一个错误
您只需要更改d
格式:'<%# Eval("DateLong","{0:MM/dd/yyyy}")%>'