zoukankan      html  css  js  c++  java
  • 代码之上机时间的计算

           当时敲上机时间计算那个窗体时,真的感觉非常难,问别人吧,但是大家都是计算的一天之内的上网时间,也就是上网时间在24之外,计算的结果就不正确了.

    下面这段代码就解决上网时间超过24小时的问题

    ‘窗体级别定义,整个窗体调用

    Dim onboard As Date
    Dim offboard As Date
     
    Private Sub CmdOn_Click()
    '记录上机时间
        TxtOnDate.Text = Date
        TxtOnTime.Text = Time

    当 然还要将时间更新到数据库中

    Private Sub CmdDown_Click()
    Dim Costtime As Date
    Dim c As Date
    Dim b As Date
     
    txtsql = "select*from Online where cardnumber='" & Trim(TxtCardnumber.Text) & "'And Explain ='" & "正常上机" & "' "
    Set mrc = ExecuteSQL(txtsql, msgtext)
    If mrc.EOF = False Then
    '如果下机 记录下机时间
        TxtDownDate.Text = Date
        TxtDownTime.Text = Time
          offboard = Now  ‘记录下机时间
         c = mrc.Fields(2)  ‘在数据库中取出上机时间
         b = mrc.Fields(4)
         onboard = c + b
    '计算上机时间
         a = DateDiff("s", CDate(onboard), CDate(offboard))
         Costtime = Format(a  3600 & ":" & (a Mod 3600)  60 & ":" & a Mod 3600 Mod 60)
         TxtCostTime.Text = Costtime

            在这个时间计算代码中有个缺点是,如果在下机时忘了点“下机”按钮,那么你的状态将会一直是上机,但是如果你在下机事件中不从数据库中取出上机时间的话用下面代码

    Private Sub CmdDown_Click()
        onboard = Now  
        TxtOnDate.Text = Date
        TxtOnTime.Text = Time   

    然后直接计算上机时间'计算上机时间

         a = DateDiff("s", CDate(onboard), CDate(offboard))

          也是有问题的,就是一关闭上机窗体,而忘记下机的话,虽然上机状态一直是上机,但是在下次打开程序下机时,上机时间是从你下次打开程序到点下按钮这段时间,而上次上机的时间是没有记录在内的。

  • 相关阅读:
    数据结构进阶——线段树
    基本数据结构—Hash哈希
    NOIP2013提高组 day2 2019.7.15
    基本算法——归并排序
    基本数据结构—Trie
    NOIP 2011 提高组 Day2 校模拟 7.11
    Noip2014提高组真题Day1,2 校模拟7.7
    NOIP2015 提高组 day1 7.8校模拟
    NOIP2008 提高组 6.9校模拟
    STL-#include<set>
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3476304.html
Copyright © 2011-2022 走看看