如题:
定义的数据类型: date
添加日期后内容总是这样: 2010/11/7 0:00:00
读取出来的内容带如何不显示0:00:00?
或者添加日期时直接就是2010/11/7?
可以用CONVERT()来对日期时间值进行转换后再输出。
如:convert(varchar(10), getdate(), 111)
可以查看convert()的相关文档以了解其详细用法
######表达有误,修正一下:
定义的数据类型: date
添加到数据库中的数据内容: 2010-11-7
数据库表中date列中的数据: 2010-11-7
列中的数据是不带 0:00:00 的.
但C#读取出来的显示的内容是: 2010/11/7 0:00:00
读取语句(页面中代码): <%#DataBinder.Eval(Container.DataItem,"date") %>
.cs文件代码:
if (dr.HasRows)
{
this.txtDate.Text = dr.GetValue(3).ToString();
}
######
日期的显示,最好是单独进行格式化处理,例如 Java 中的 DateFormat ,这样不管数据库是什么类型,应用显示上都是一致的。
######问题已解决.
两种方法:
1.this.labMsg.Text = dr.GetDateTime(3).ToShortDateString();
GetDateTime(): 获取指定列的System.DateTime对象形式的值.
ToShortDateString(): 将此实例的值转换为其等效的短日期字符串表示形式.
2.this.labMsg.Text = dr.GetValue(3).ToString().Substring(0,10);
GetValue(): 获取以本机格式表示的指定列的值.
Substring(Int32, Int32): 从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
其实标题写错了,这个是代码本身的问题,并不是数据库的问题,在mssql2008中,设置为date类型的数据其本身格式就是: 2010-11-07.
是我用错了方法,GetValue()获取到的方法是以本机格式表示的,自然就成了2010/11/1 0:00:00这个的格式了,换成GetDateTime()然后将其转换是短时期字符串ToShortDateString()就可以了.
谢谢各位热心的朋友
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。