我是个新手,想知道下列内容,请各位大虾帮忙指教:
一:获得当前的系统时间(格式要注意,后面要用来比较的)
二:随便的两个获得的系统时间,怎么比较前后或者大小
三:同一天的时间比较和不同一天的时间比较分别要注意什么,谢谢,我会使劲给分的

解决方案 »

  1.   

    当前时间 time() ,如果要带日期,则是 now()比较大小可以直接比较:
        Dim a As Date
        
        a = Now
        
        MsgBox a
        
        MsgBox a > Now
      

  2.   

    datediff 函数
      
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  3.   

    DateDiff函数祥解描述 
    返回两个日期之间的时间间隔。 
    语法 
    DateDiff(interval, date1, date2 [,firstdayofweek][, firstweekofyear]]) 
    DateDiff 函数的语法有以下参数: 参数 描述 
    interval 必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。 
    date1, date2 必选。日期表达式。用于计算的两个日期。 
    firstdayofweek 可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。 
    firstweekofyear 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。 
    设置 
    interval 参数可以有以下值: 
    设置 描述 
    yyyy 年 
    q 季度 
    m 月 
    y 一年的日数 
    d 日 
    w 一周的日数 
    ww 周 
    h 小时 
    m 分钟 
    s 秒 
    firstdayofweek 参数可以有以下值: 常数 值 描述 
    vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 
    vbSunday 1 星期日(默认) 
    vbMonday 2 星期一 
    vbTuesday 3 星期二 
    vbWednesday 4 星期三 
    vbThursday 5 星期四 
    vbFriday 6 星期五 
    vbSaturday 7 星期六 
    firstweekofyear 参数可以有以下值: 常数 值 描述 
    vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 
    vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。 
    vbFirstFourDays 2 由在新年中至少有四天的第一周开始。 
    vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。 
    说明 
    DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。 
    要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1。 如果 date1 晚于 date2,则 DateDiff 函数返回负数。 firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。 如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 
      

  4.   

    一:获得当前的系统时间
        now函数,返回类似"2006-10-5 18:23:45"
    二:随便的两个获得的系统时间,怎么比较前后或者大小
        datediff函数,详细用法如上。比如
        datediff("h",now,#2006-10-6 0:00:00#)
        将返回当前距2006-10-6 0:00:00的小时数
    三:同一天的时间比较和不同一天的时间比较分别要注意什么,谢谢,我会使劲给分的
        也用datediff函数即可,同一天的时间比较时不必带日期,不同一天的时间比较时一定要带日期。
        比如:datediff("s",#7:20:03#,#12:00:00#)
        datediff("s",#2006-10-5 7:20:03#,#2006-10-6 02:00:00#)
      

  5.   

    补充:
    1、只返回日期用date,只返回时间用time,同时获得日期和时间用now
    2、datediff的说明是从网上复制的,interval参数有一处错误,即分钟的比较应该是n而不是m
      

  6.   

    一:获得当前的系统时间(格式要注意,后面要用来比较的)
    获得当前系统时间可以用 Now() 函数,得到的是一个 DateTime 类型的值。DateTime 类型实际上在内存中以 Double 类型的数值保存,整数部分表示日期,小数部分表示时间。这样的值既便于比较,也可以由系统很方便地显示为各种字符形式。Dim t As Datet = Now()
    MsgBox Format(t, "yyyy-mm-dd HH:nn:ss") 二:随便的两个获得的系统时间,怎么比较前后或者大小
    只要比较大小就可以了:
    Dim t1 As Date, t2 As Datet1 = Now()
    Sleep 1000
    t2 = Now()
    If t2 > t1 Then
        MsgBox Format(t2, "yyyy-mm-dd HH:nn:ss") & " is later than " & _
               Format(t1, "yyyy-mm-dd HH:nn:ss") 
    Else
        MsgBox Format(t1, "yyyy-mm-dd HH:nn:ss") & " is later than " & _
               Format(t2, "yyyy-mm-dd HH:nn:ss") 
    End If三:同一天的时间比较和不同一天的时间比较分别要注意什么,谢谢,我会使劲给分的
    没有不同。
      

  7.   

    谢谢happy_sea(开心海) ,我大概明白该怎么做了,还有个问题附带问一下,用户登陆时直接往SQL里面写上登陆时间,保存应该用什么类型?从SQL里读取的时间和VB里面有什么冲突没有?
      

  8.   

    呵呵,哪壶不开提哪壶,偶对SQL是七窍只通了六窍,也就是一窍不通 -_-!!!
      

  9.   

    >用户登陆时直接往SQL里面写上登陆时间,保存应该用什么类型?从SQL里读取的时间和VB里面有什么冲突没有?用日期时间类型,没有冲突。>顺便问个问题,咋结帖吖
    点网页右下角的管理按钮。