有一种时间格式,是用一个Long型的数字表示的,好像是从格林威治时间1970年1月1日0时0分0秒开始计算的秒数,我遇到了这样的数字,怎样才能吧它转化成为VB能识别的时间?然后怎样把VB的时间变量转化成为这样的时间格式呢?

解决方案 »

  1.   

    有个 API 是用来转换的一下子想不起来了找一下 FILETIMETOLOCALTIME 附近的函数看看
      

  2.   

    Dim Date1 As Date
    Dim Date2 As Date
    Dim Dlong As Long
    Dlong = 1123456789'给你的数字
    Date2 = #1/1/1970#
    Date1 = DateAdd("s", Dlong, Date2)
      

  3.   

    正、反函数全有了,谢谢 Arcan(Arcan) ,给分!
    ---------------------------------------------------------------------------------
    Option ExplicitPrivate Sub Command1_Click()
        MsgBox dateN2D(1050681600)
        MsgBox dateD2N(dateN2D(1050681600))
    End SubFunction dateN2D(ByVal numericDate As Long) As Date
        Dim thisDate As Date
        Dim baseDate As Date
        baseDate = #1/1/1970#
        thisDate = DateAdd("s", numericDate, baseDate)
        dateN2D = thisDate
    End FunctionFunction dateD2N(ByVal thisDate As Date) As Long
        Dim baseDate As Date
        baseDate = #1/1/1970#
        dateD2N = DateDiff("s", baseDate, thisDate)
    End Function