我的代码
Option Explicit
 Dim a As Date
 
Private Sub Command1_Click() a = FormatDateTime(Now, vbLongTime)
  Dim b     As Date   '   声明变量。
  b = Time
  Print "b=", b
  Print "Days   from   today:   " & DateDiff("s", a, b)
 
End SubPrivate Sub Command2_Click() Print "a", a
 Print
 Print DateDiff("s", "1998-8-3 6:30:11", "1998-8-3 6:30:12")
End SubPrivate Sub Form_Load()
a = TimeEnd Sub
为什么DateDiff("s", a, b)输出是0
而DateDiff("s", "1998-8-3 6:30:11", "1998-8-3 6:30:12")输出是一?
求教高手~~~

解决方案 »

  1.   

    MsgBox DateDiff("s", "1998-8-3 6:30:11", "1998-8-3 6:30:12") 是1,因为相差一秒上面那个输出=0因为两个时间是一样的
      

  2.   

    Command1中的a 不是 Form_Load 中的a,Form_Load中的a 被冲掉成了a = FormatDateTime(Now, vbLongTime).结果a,b是一样的. 要保持Form_Load中的a值, a= FormatDateTime(Now, vbLongTime)中的Now应该换成a才对.
      

  3.   


    Private Sub Command1_Click()  a = FormatDateTime(Now, vbLongTime) '从这里运行到┐
      Dim b As Date  '  声明变量。                        │
      b = Time '<---这里------------------------------┘
      '以上语句可以肯定的说运行时间用不了1秒时间,所以后面的值肯定是0
      Print "b=", b
      Print "Days  from  today:  " & DateDiff("s", a, b)End Sub