举个例子:
文件中有个日期数据:09/07/2004 11:02:25
hex值为4E 31 6A B8 AE AB E2 40
对应浮点数为38237.5
这些我是通过其他软件得到的,我想问vb有什么函数能实现这个功能?

解决方案 »

  1.   

      MsgBox CDate("09/07/2004 11:02:25")
      MsgBox CDbl(CDate("09/07/2004 11:02:25"))你看一下这二个的返回值就知道了日期型与浮点数的关系,但是HEX值,我还不知道,
      

  2.   

    hex值为4E 31 6A B8 AE AB E2 40 
    可能是指:当前日期与 1900/01/01 00:00:00 相差的秒数
      

  3.   

    Option ExplicitType DateValue
        v As Date
    End TypeType DoubleValue
        v As Double
    End TypeType ByteArray
        a(7) As Byte
    End TypeSub Main()
        Dim dt As DateValue, ba As ByteArray, d As DoubleValue
        Dim i As Long
        
        dt.v = #9/7/2004 11:02:25 AM#
        Debug.Print dt.v
        
        LSet ba = dt '等同与 CopyMemory ba.a(0), dt.v, 8
        For i = 0 To 7
            Debug.Print IIf(ba.a(i) < 16, "0", "") & Hex(ba.a(i)) & " ";
        Next
        Debug.Print
        
        d.v = CDbl(dt.v)
        Debug.Print d.v
        
        'Date值就是用Double存储的,表示距离 1899-12-30 的天数
        '(时分秒折算成小数)。两者的内存字节完全一致
        LSet ba = d '等同与 CopyMemory ba.a(0), d.v, 8
        For i = 0 To 7
            Debug.Print IIf(ba.a(i) < 16, "0", "") & Hex(ba.a(i)) & " ";
        Next
        Debug.Print
    End Sub