用GridView 从数据库中读出来的时间出来的显示格式很杯具。。月 日在前面。。 年份在后面,而且还带着上下午。。  
数据库中的类型是varchar类型
请问,怎么才能让它显示出的是年-月-日格式的 第一次读取的时候很正常,但是用GridView更新完了以后就变了

解决方案 »

  1.   

    和GridView没关系吧 看看有没有引用JS 
      

  2.   

    设置属性DataFormatString="{0:yyyy-MM-dd}"
      

  3.   


    格式处理一下呗,对应单元格样式 Cell[i].Text.ToString("yyyy-MM-dd");yyyy-MM-dd,这个自己随便设置
      

  4.   

    再问白痴一点,给谁设置这个属性?是textbox吗?我是新手
      

  5.   


    http://www.google.com.hk/search?hl=zh-CN&lr=lang_zh-CN|lang_zh-TW&safe=strict&tbs=lr:lang_1zh-CN|lang_1zh-TW&q=asp.net+eval+format&aq=f&aqi=&aql=&oq=&gs_rfai=
      

  6.   

    你是直接绑定还是使用控件?控件绑定的话 可以使用:Text='<%# DateTime.Parse(Eval("字段").ToString()).ToString("yyyy-MM-dd") %>'如果是是gv的列绑定,就可以设置DataFormatString属性="{0:yyyy-MM-dd}" 这个就在你的绑定列里面
      

  7.   

    第一种方法:
    将数据库中的日期字段设置为DateTime类型,读出来之后,可以将字符格式化:{0:yyyy年MM月dd日}第二种方法:
    通过GridView的RowDataBound方法,找到该日期所在的列,读出该列的值,将值转为DateTime类型,再进行格式化
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            DateTime dDateTime = DateTime.Parse(e.Row.Cells[3].Text);
            e.Row.Cells[3].Text = dDateTime.ToString("yyyy年MM月dd日");
        }
    注:3为日期所在列,从0开始计算
      

  8.   

    模板列
    <%# ((DateTime)Eval("dt")).ToString("yyyy-MM-dd")%>
    DataFormatString= "{0:yyyy-MM-dd} " HtmlEncode= false
      

  9.   

    没错,就是先转DateTime,然后用ToString("yyyy-MM-dd")