我在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小时。
答案 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
毫无意义。