请教:在mssql中添加日期如何去掉后面的0:00:00?

月影 发布于 2010/11/07 14:36
阅读 2K+
收藏 1

如题:

定义的数据类型: date

添加日期后内容总是这样:  2010/11/7 0:00:00

读取出来的内容带如何不显示0:00:00?

或者添加日期时直接就是2010/11/7?

加载中
0
翟柱堂
翟柱堂

可以用CONVERT()来对日期时间值进行转换后再输出。

如:convert(varchar(10), getdate(), 111)

可以查看convert()的相关文档以了解其详细用法

0
月影
月影

表达有误,修正一下:

 

定义的数据类型: 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();

     }

 

0
红薯
红薯

日期的显示,最好是单独进行格式化处理,例如 Java 中的 DateFormat ,这样不管数据库是什么类型,应用显示上都是一致的。

0
月影
月影

问题已解决.

两种方法:

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()就可以了.

谢谢各位热心的朋友

返回顶部
顶部