日期时间转换问题
文章出来是这种型式
dotnet文章[2003-8-8 0:0:00]
有没有办法变成
dotnet文章[2003-8-8]
//***************************
<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Data.OleDb" %>
<%@ Page language=C# %>
<script language=cs runat=server>
private void Page_load(object sender,System.EventArgs e)
{
if(!Page.IsPostBack)
{
DataFiller();
}
}
void DataFiller()
{
int id=Convert.ToInt32(Request.QueryString["id"]);
string strCon=Application["db_app"].ToString();
OleDbConnection objCon=new OleDbConnection(strCon);
string strSQL="select * from db_art";
mydata.PagerStyle.NextPageText="下一页";
mydata.PagerStyle.PrevPageText="上一页";
DataSet objDS=new DataSet();
OleDbDataAdapter objDA=new OleDbDataAdapter(strSQL,objCon);
objDA.Fill(objDS,"db_art");
mydata.DataSource=objDS.Tables[0].DefaultView;
mydata.DataBind();
}
private void GPC(object sender,DataGridPageChangedEventArgs e)
{
mydata.CurrentPageIndex=e.NewPageIndex;
DataFiller();
}
</script>
<form runat=server>
<asp:DataGrid id="mydata" forecolor="black" font-size=9pt font-name=宋体 runat="server"
Border=0
PageSize=14
AllowPaging="True"
cellSpacing=0 cellPadding=4
AutoGenerateColumns="False"
showheader="true"
showfooter="true"
GridLines="None"
PagerStyle-Mode="NumericPages"
OnPageIndexChanged="GPC"
>
<Columns>
<asp:TemplateColumn runat="server">
<ItemTemplate>
<img src="f:\cs-aspx\images\mood.gif">
<a href='art.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"ID") %>' target='_blank'>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"ArtName") %>'/> </a>
<asp:label runat=server text="[" forecolor=#808080/>
<asp:label forecolor=#808080 id=*
runat=server
text='<%# DataBinder.Eval(Container.DataItem,"DTime")%>'/>//在这里用ToString()
//提示有错误,该怎么才能转换成2003-3-3这种形式阿,谢谢
<asp:label runat=server text="]" forecolor=#808080/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn runat="server">
<ItemTemplate>
</ItemTemplate>
</asp:templatecolumn>
</Columns>
</asp:DataGrid>
<asp:Label id="lblCurrentIndex" runat="server" /><br>
<asp:Label id="lblPageCount" runat="server" /><br>
</form>
问题点数:0、回复次数:10Top
1 楼laoa(东岳山庄)回复于 2003-08-03 23:29:14 得分 0
不用贴这么多吧。
<%#String.Format ("{0:yy-MM-dd}",DataBinder.Eval(Container.DataItem,"DTime"))%>Top
2 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2003-08-03 23:30:54 得分 0
用ToShortDateString()方法。Top
3 楼xiahouwen(武眉博<活靶子.NET>)回复于 2003-08-03 23:33:32 得分 0
ateTime MyDateTime = DateTime.Parse(str);Top
4 楼ruyedian(710℃ 高烧)回复于 2003-08-03 23:59:03 得分 0
<%# DataBinder.Eval(Container.DataItem,"DTime",0:d}") %>
or
<%# CType(DataBinder.Eval(Container.DataItem,"DTime"),DateTime).ToShortDateString%>Top
5 楼shixueli(我们总是不能随心所欲)回复于 2003-08-04 00:21:04 得分 0
上面的方法都对,不过要注意判断空值,否则会出错
用IsDBNUll()方法Top
6 楼hfma2000(hfma2000)回复于 2003-08-04 09:40:34 得分 0
用format格式:
<%# String.Format ("{0:yy-MM-dd}",DataBinder.Eval(Container.DataItem,"DTime"))%>
其中{0:yy-MM-dd},yy表示年份,如果四位可以用yyyy,例如1980;MM表示月份,注意MM一定要大写,dd表示天。Top
7 楼foxxiap(四菜)回复于 2003-08-04 10:24:41 得分 0
<asp:label forecolor=#808080 id=*
runat=server
text='<%# DataBinder.Eval(Container.DataItem,"DTime","{0:yyyy-MM-dd}")%>'/>
Top
8 楼liguiman(li)回复于 2003-08-04 10:53:18 得分 0
用这个
<%# String.Format ("{0:yy-MM-dd}",DataBinder.Eval(Container.DataItem,"DTime"))%>Top
9 楼wayneliu(暴风骤雨)回复于 2003-08-04 11:08:08 得分 0
是e.item.cells(n).text=format(cdate(e.item.cells(n).text),"yyyy-MM-dd")
或者 试试 Txt_date.Text =DateTime.Now .ToShortDateString ();
或者直接在sql语句里写成convert(varchar(10),日期字段,120)算了。
Top
10 楼IamBird()回复于 2003-09-04 13:38:47 得分 0
<asp:BoundColumn DataFormatString="{0:D}" DataField="NAddTime" SortExpression="NAddTime" HeaderText="添加时间" >
</asp:BoundColumn>
再<asp:BoundColumn>中添加DataFormatString="{0:D}">Top




