怎么样让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日 ");