0

这是我的物品模板

<asp:Label ID="lblDF" runat="server" Text='<%# Eval("DateLong","{0:d}")%>'></asp:Label>

如何将 DateLong(返回 int)转换为日期格式(MM/dd/yyyy)?我知道代码隐藏中有一种解决方法。但是是否可以通过在代码块中使用其他函数来实现?

提前致谢

4

3 回答 3

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>
于 2013-07-11T05:56:54.763 回答
0

我试过了

 Text='<%#Convert.ToDateTime(Eval("DateLong")).ToString("MM/dd/yyyy") %>'

它工作正常,但是当它有一个空值时,它会抛出一个错误

于 2015-01-26T18:31:45.543 回答
0

您只需要更改d格式:'<%# Eval("DateLong","{0:MM/dd/yyyy}")%>'

于 2013-07-11T06:00:32.007 回答