asp.net Eval如何格式化日期

<%#DataBinder.Eval(Container.DataItem,"adddate")%>其中试过<%#DataBinder.Eval(Container.Da... <%#DataBinder.Eval(Container.DataItem, "adddate")%>
其中试过<%#DataBinder.Eval(Container.DataItem, "adddate","{0:d}")%>
都无效
内容本来显示是2009-11-30 上午7:34:14
我想让它显示2009-11-30
<%#DataBinder.Eval(Container.DataItem, "adddate","{0:yyyy-MM-dd}")%>
还是一样
haifeng_4216 CS1501: “ToString”方法没有采用“1”个参数的重载
我用的是VS2005。而且TOstring后面没重载
展开
 我来答
匿名用户
推荐于2017-07-31
展开全部
<%#ToFormatDateStr(DataBinder.Eval(Container.DataItem, "adddate"),"yyyy-MM-dd")%>

public string ToFormatDateStr(string s,string format)
{
DateTime dd = DateTime.Parse(s);
return dd.ToString(format);
}
百度网友017a620
推荐于2017-08-18 · TA获得超过803个赞
知道小有建树答主
回答量:692
采纳率:90%
帮助的人:144万
展开全部

没有问题的,确保你的字段是日期类型,而不是字符串类型

下面是一个完整的例子,结果如图:

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "


<script runat="server">
    // 计算数据,完全可以从数据看取得
    ICollection CreateDataSource()
    {
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("序号", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("日期", typeof(System.DateTime)));

        for (int i = 0; i < 8; i++)
        {
            System.Random rd = new System.Random(Environment.TickCount * i); ;
            dr = dt.NewRow();
            dr[0] = i.ToString();
            dr[1] = DateTime.Now.AddDays(i);
            dt.Rows.Add(dr);
        }
        System.Data.DataView dv = new System.Data.DataView(dt);
        return dv;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {

            GridView1.DataSource = CreateDataSource();
            GridView1.DataBind();
        }
    }

</script>

<html xmlns="

<head>
</head>
<body>
    <form runat="server">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                       日期格式1: <%#DataBinder.Eval(Container.DataItem,"日期","{0:yyyy-MM-dd}")%>
                        日期格式2:<%#DataBinder.Eval(Container.DataItem,"日期","{0:yyyy/M/d}")%>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </form>
</body>
</html>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友88ca838
2009-11-30 · TA获得超过503个赞
知道小有建树答主
回答量:767
采纳率:0%
帮助的人:493万
展开全部
<%#DataBinder.Eval(Container.DataItem, "adddate","{0:yyyy-MM-dd}")%>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落月Prc
2009-11-30 · TA获得超过2789个赞
知道大有可为答主
回答量:2011
采纳率:100%
帮助的人:2432万
展开全部
<%# ((DateTime)Eval("adddate")).ToString("yyyy-MM-dd") %>
用这个把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liyujiajay
2009-11-30 · TA获得超过219个赞
知道小有建树答主
回答量:407
采纳率:0%
帮助的人:296万
展开全部
换一种思路,在数据库用里搞一下:
select CONVERT(varchar(10) , getdate(), 120 )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
如是我之闻
2009-11-30 · TA获得超过1237个赞
知道小有建树答主
回答量:1207
采纳率:57%
帮助的人:820万
展开全部
<%#DataBinder.Eval(Container.DataItem, "adddate").ToString("yyyy-MM-dd"))%>我经常是这么做的,没有 问题的你试试吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程璐督曼冬
2013-05-15 · TA获得超过3717个赞
知道大有可为答主
回答量:3086
采纳率:26%
帮助的人:220万
展开全部
<%#DataBinder.Eval(Container.DataItem,
"adddate","{0:yyyy-MM-dd}")%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式