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))

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

  • 相关阅读:
    在静态工具类中需要注入mapper
    springboot整合mybatis之用外置服务器启动项目(二)
    基于java 的websocket的聊天功能,一开始初始化websocket,执行打开连接之后就直接关闭连接了。
    Lwip的相关资料
    轻量级的应用服务器基础框架
    libevent和基于libevent的网络编程
    protobuf的使用
    module graceful-fs for npm
    Filebeat命令参考
    Filebeat原理与简单配置入门
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3476304.html
Copyright © 2011-2022 走看看