数据库日期时间类型的处理

     在进行机房时遇到了日期和时间向文本类型的转换错误。而且频繁报错,特地总结了这些问题的特点。

数据库与VB.NET的对照

数据库日期时间类型的处理_第1张图片

     time(n):显示时间,n为精度控制。有兴趣的可以去试一试,挺爽的。

    timespan是与数据库里的time数据类型对应,准确的说它不是一个显示时间的数据类型,它是来表示时间间隔的,比如:一个时间减去一个时间得到的值,就是timespan类型的数据。而timespan减去0就是要显示的时间,所以数据库里的time数据类型对应VB.net里的timespan数据类型


    另一方面做机房时还遇到了规范字符串显示的问题:比如要显示一个日期,而得到的数值为:2016-3-4 00:00:00

这个时候就要用到我们的format函数了。通过对format函数的运用,发现了一个很有趣的东西。看下面的代码

 Dim b As DateTime = "2016-3-4 20:00:00"    //规定好字符串的格式,注意b是datetime类型
        Dim c As String = "23:34:32"        //规定好字符串的格式,注意c是string类型
        Label4.Text = Format(c, "long time")  //long time 格式,指定显示时,分秒
        Label5.Text = Format(c, "H:mm:ss")    //H,24小时制显示,mm分钟显示,ss秒显示
        Label6.Text = Format(b, "yyyy-MM-dd")  //yyyy,年数显示,MM月份显示,dd天数显示
        Label7.Text = Format(b, "short date")   //short date 短日期显示。例如:2016/3/3


       上述代码显示结果:

数据库日期时间类型的处理_第2张图片

        根据上面的显示结果。我总结了:format函数在使用yyyy-MM-dd,H:mm:ss格式来显示日期和时间字符串时,前面的字符串参数必须为datetime类型的数据。而使用short date,和short time格式时,就不用考虑这么多了。所以,在日期和时间来显示时,不妨使用short date,long date,short time,long time格式。个人的实验结果,有什么错误大家多多指点。


     总结:在设计数据库时,选用哪个数据类型,需要仔细考虑啊,一个合适的数据类型将使程序简单。





    

你可能感兴趣的:(数据库日期时间类型的处理)