日期:2014-05-20  浏览次数:20494 次

怎么样让datetime类型的数据只有年月日?
数据库中的字段类型是datetime,现在从数据库中提出的数据是年月日小时分秒的形式,我只想要年月日,怎么样在
不改变数据类型的情况下做到?

------解决方案--------------------
DateTime.Now.ToShortDateString()
------解决方案--------------------
convert(char(20),时间,111) as 时间
------解决方案--------------------
.ToShortDateString();
------解决方案--------------------
datetime.ToString( "yyyy-MM-dd ");
------解决方案--------------------
DateTime.Now.ToShortDateString()
或者用楼上的方法
------解决方案--------------------
str = dt.ToString( "yyyy-M-d ");
------解决方案--------------------
如果是想在gridview等中显示如:yyyy-MM-dd的时间形式,可如下:
string sql1 = "SELECT 公告编号,公告名称,convert(char(20),发布时间,111) as 发布时间,convert(char(20),生效时间,111) as 生效时间,convert(char(20),过期时间,111) as 过期时间,发布人 FROM Announce ";

------解决方案--------------------
表示页: <%# DataBinder.Eval(Container.DataItem, "outdate ", "{0:yyyy-MM-dd} ") %>
------解决方案--------------------
this.Label1.Text=objDataReader.GetDateTime(0).ToShortDateString();
------解决方案--------------------
DateTime.Now.ToShortDateString()
------解决方案--------------------
DateTime.Now.ToShortDateString()
这样基本行
------解决方案--------------------
.ToShortDateString();
------解决方案--------------------
Eval( "字段 ", "{0:d} ")
------解决方案--------------------
格式化,ToString( "yyyy-MM-dd ");
------解决方案--------------------
两种方法,select的时候,就用SQL自带的convert取得想要的格式,也可以到VS里再用ToString( "yyyy-MM-dd "),y代表年,yy短年份,以2000为分界,yyyy为完整年份,M为无前导0的月份,MM为前导0的月份,d为无前导0的日,dd为有前导0的日
------解决方案--------------------
datetime.tostring(yyyy-MM-dd)
------解决方案--------------------
Convert(取前几位,列名,时间区域码联机帮助里有)

例:
Convert(char(5),Title,112)

显示出的是:01-12
------解决方案--------------------
public string formatdatetime(string date)
{

DateTime dt = DateTime.Parse(date);
return dt.ToString( "yyyy年MM月dd日 ");


}

------解决方案--------------------
DataTime.ToString( "yyyy年MM月dd日 ");