格式化日期(在DB中保存为datetime)

时间:2017-02-14 22:04:01

标签: sql-server vb.net datetime

我在SQL SERVER中有一堆记录,而且我遇到了其中一个字段的问题。

数据类型是datetime。系统只插入一个没有时间的日期,所以'1/2/2017' - 所以当它插入SQL SERVER时它只会显示为1/2/2017 00:00:00。现在,我要做的就是显示它,就像保存在数据库中一样。

我查询数据库并将其显示为......

   If Not IsDBNull(dr("ReceivedOn")) Then
       txtReceivedOn.Text = Format(dr("ReceivedOn"), "MM/dd/yyyy hh:mm tt")
   End If

我蒙面文本框上的面具是谎言......

 00/00/0000 90:00 aa

当它显示在屏蔽文本框中时会显示日期和12:00 AM

1/2/2017 12:00:00 AM

是否有摆脱它,只显示0而不是错误的时间?但是我想只看12小时而不是24小时。

1 个答案:

答案 0 :(得分:1)

您需要将格式说明符从hh更改为HH

If Not IsDBNull(dr("ReceivedOn")) Then
    txtReceivedOn.Text = Format(dr("ReceivedOn"), "MM/dd/yyyy HH:mm tt")
End If

read的MSDN上,您可以阅读

  

“HH”自定义格式说明符(加上任意数量的附加“H”)   说明符)将小时表示为从00到23的数字;那   是的,小时由一个基于零的24小时时钟表示   午夜时分。使用a格式化一位数小时   领先零。

请注意,使用此格式时,tt毫无意义。

相关问题