从access里面调出来的时间日期怎么才能按照小时分钟的格式正确显示呢?

Jason78 2005-01-05 05:47:03

从access里面调出来的日期时间,是这样的:第一个是2005/01/01,第二个是12:00,
可是我print在窗体里出来的结果第一个是个五位数,第二个是0.5 .

我想象原来的格式一样,即2005/01/01,12:00,怎么才能正确显示呢?

谢谢大家了.
...全文
232 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jason78 2005-01-06
  • 打赏
  • 举报
回复
是的,比如时间6:00就变成0.25;12:00就变成0.5。

我的原来的代码如下:

'*****************************定义为单精度*******************************
Dim DbArr() As Single
dim edate() as Single
dim etime() as Single

Private Sub form_Click()

Dim Rs As New ADODB.Recordset
Dim Connstr As String

Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=database.mdb;"
Rs.CursorType = adOpenStatic

'*****************调用Access数据(分别为日期和时间,格式如:2004/1/1,10:00)*******
Rs.Open "select * from shijian", Connstr
Dim RecField As Integer

RecNum = Rs.RecordCount - 1
RecField = Rs.Fields.Count - 1

ReDim DbArr(RecNum, RecField) As Single
Dim i As Integer
Dim j As Integer

For i = 0 To RecNum
For j = 0 To RecField
DbArr(i, j) = Rs.Fields(j).Value
Next j
Rs.MoveNext
Next i

ReDim edate(RecNum) As Single
ReDim etime(RecNum) As Single

'*****************************打印到窗体里*******************************
For i = 0 To RecNum
edate(i) = DbArr(i, 0)
etime(i) = DbArr(i, 1)
print edate(i);etime(i)
Next i
End Sub

不过当我把上述数组变量都定义为String类型时,问题就解决了。(只是不知道这样有没有隐患,因为,我还有其它数据在里面,比如,温度,辐射等数据,我想用来计算呢,都改成String类型不会产生错误吧)

我待会再用wumylove1234(毁于随)的函数试试看。



wumylove1234 2005-01-06
  • 打赏
  • 举报
回复
用上面这个函数.
wumylove1234 2005-01-06
  • 打赏
  • 举报
回复
formatdatetime(#2004/01/01 12:00#,vbGeneralDate)
helanshan 2005-01-05
  • 打赏
  • 举报
回复
把你print的代码贴出来看看..
这种情况没有遇到过...
不会是把日期全部转换为天数了吧..
Jason78 2005-01-05
  • 打赏
  • 举报
回复
请大侠们指导啊

多谢

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧