这是我的项目模板
<asp:Label ID="lblDF" runat="server" Text='<%# Eval("DateLong","{0:d}")%>'></asp:Label>
如何将DateLong (返回int)转换为日期格式(MM / dd / yyyy)?我知道代码隐藏有一个解决方法。但是可以通过在代码块中使用其他函数来实现吗?
提前致谢
答案 0 :(得分:1)
你可以尝试这样......
<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>
答案 1 :(得分:0)
您只需更改格式为d
'<%# Eval("DateLong","{0:MM/dd/yyyy}")%>'
即可
答案 2 :(得分:0)
我试过
Text='<%#Convert.ToDateTime(Eval("DateLong")).ToString("MM/dd/yyyy") %>'
它运行正常但是当它有一个空值时会抛出错误