精华内容
下载资源
问答
  • 如何计算在线时长

    2017-12-06 06:50:02
    有一个页面要实时展示员工当天休息和工作的累计时长。 有两个数据库表存储员工的数据。 员工状态表:存储员工的当前状态。 员工状态流水表:每次员工状态切换,存储一条日志,记录切换发生的时间,切换前状态,切换...

    问题

    员工会登录一个内部服务系统,登录后可以选择休息或工作状态,下班时选择离开。有一个页面要实时展示员工当天休息和工作的累计时长。

    有两个数据库表存储员工的数据。

    员工状态表:存储员工的当前状态。

    员工状态流水表:每次员工状态切换,存储一条日志,记录切换发生的时间,切换前状态,切换后状态。

    解决

    先建立问题的模型,一个状态图,是员工状态切换的本质。

    如下,员工有三种状态,在状态切换时才会有时长被计算进去。其中红色的表示计算为休息时长,蓝色表示工作时长。即从休息状态转出的记录为休息时长,工作状态转出的记录为工作时长。

    员工状态图

    建立一个新表,存储用户最近一次状态,和状态的获取时间点。还有用户当前的累计休息时长,累计工作时长。

    用户请求到来时,通过员工状态表获取员工当前的状态,再根据新表最近的状态和时间点,计算出累计的市场,增加到累计“休息”或累计“工作”时长中。

    如果中间有跨越每天切换的时间点,例如零点。那么先更新新表中最近一次状态为切换时间点的状态,清零累计时长,然后按状态机的方法计算累计时长。

    计算在线时长如果每次都从日志里遍历,重复计算,是大错特错的。

    这个问题要注意两点,已经计算过的,要存储累计数值,不要重复计算,否则后续数据增长会不可控,也消耗性能;清零时间点要做好判断,把清零时刻的状态推算出来然后再套用模型计算即可。

    同理,计算游戏在线时长,IM隐身时长等都是一个原理。


    转载请注明来源:如何计算在线时长
    欢迎收听公众号
    展开全文
  • 如何计算工作时长

    2020-05-18 13:41:24
    我有一个数组,这个数组的长度不定,格式如下(这个是包含驳回状态的数组): ...现在我想统计除了收费环节(包括收费和收费(驳回))外的所有环节的工作时长(除了收费外所有的totaltime之和),我该怎么写?
  • import com.google.common.base.Stopwatch; 开始计时 Stopwatch stopwatch = Stopwatch.createStarted();...计算出来的rt就是 stopwatch.elapsed(TimeUnit.MILLISECONDS) 日志输出样例 ...

     

     

    import com.google.common.base.Stopwatch;
    开始计时
    Stopwatch stopwatch = Stopwatch.createStarted();

    停止计时
    stopwatch.stop();
    计算出来的rt就是 
    stopwatch.elapsed(TimeUnit.MILLISECONDS)
     
    日志输出样例
    schedulingLogger.info("refresh[{}], gray:[{}], resultMap.size:[{}], elapsed(ms):[{}]",
    dbEventMessage.getDbEnum().getTableName(), gray, positionTagAndTerminalMap.size(),
    stopwatch.elapsed(TimeUnit.MILLISECONDS));

    转载于:https://www.cnblogs.com/iwangzheng/p/8743714.html

    展开全文
  • python和matlab都有非常友好的记录时间的方式,且...但是shell脚本如何记录运行了多时间呢?这要从shell脚本的date命令说起。 date命令 date是shell的时间工具,其调用方式非常简单。 基本格式: date [选项] ...

    python和matlab都有非常友好的记录时间的方式,且不说python的time,datetime工具包,matlab的tic,toc命令简单好记,都是程序时间很好的记录工具,可以帮助后续代码的持续优化和改善。但是shell脚本如何记录运行了多长时间呢?这要从shell脚本的date命令说起。

    date命令

    date是shell的时间工具,其调用方式非常简单。
    基本格式: date [选项] … [+格式]
    在shell控制台上直接输入date得到的是:

    2018年12月15日 星期六 23时46分04秒 CST
    

    常见的date命令调用方式有:

    echo `date +%s`
    

    返回从1970年1月1日00:00:00以来所经过的秒数: 1544888892, 或者还可以这样调用:

    echo `date +%Y/%D:%H:%M:%S`
    2018/12/15/18:23:50:42
    

    date还支持很多格式,具体可参考文后“date命令详解”

    shell脚本的基本运算

    虽然大多数时候都会把复杂的计算放在python脚本或者matlab脚本中,但是shell脚本中偶尔免不要做一些运算。

    代数运算

    运算符 说明 举例
    = 赋值 a=$b 将把变量 b 的值赋给 a
    + 加法 expr $a + $b 结果为 30。
    - 减法 expr $a - $b 结果为 -10。
    * 乘法 expr $a \* $b 结果为 200。
    / 除法 expr $b / $a 结果为 2。
    % 取余 expr $b % $a 结果为 0。

    除了expr符号以外,数学运算同样可以使用(()) 。例如:

    ((1+2))
    (((2+3)*4))
    

    但是要想取到运算结果,需要用$引用

    a=$((1+2))
    

    还可以用bc这个shell脚本工具,比如后面记录计算时长的例子。

    shell中记录运算时长

    stime=`date %s`
    sleep 60
    etime=`date +%s`
    
    s=`echo "scale=0; ($etime - $stime)%60" | bc`
    m=`echo "scale=0; ($etime - $stime)/60%60" | bc`
    h=`echo "scale=0; ($etime - $stime)/60/60" | bc`
    
    

    保存日志文件

    在做批量实验室,例如跑批量MRI的预处理,我们会写好shell脚本,然后启动脚本,等所有作业执行完再去看结果,但是这些执行时的信息如何保存下来到文件中呢?下面这个命令可以完成这个任务

    sh batchjob.sh 2>&1 | tee mylog.log
    

    其中sh batchjob.sh:表示要执行的shell脚步;0,1,2:在linux分别表示标准输入、标准输出和标准错误信息输出。

    参考:
    date命令详解:https://www.cnblogs.com/kimbo/p/7102203.html
    shell脚本数学运算很详细的博客: https://www.jb51.net/article/134292.htm

    展开全文
  • link环境下制作《网盘软件》,如何计算挂机时长?挂机时长等级制怎么制作?
  • 如何计算MP3的时长

    2012-10-26 11:53:37
    MediaPlayer mediaPlayer=MediaPlayer.create(getBaseContext(), uri); mediaPlayer.pause(); mediaPlayer.getDuration(); 通过mediaPlayer.getDuration();获取的是一个int ...如何把他换算成一个是时间值呢?
  • 如何计算哈希表查找失败的平均查找长度

    千次阅读 多人点赞 2020-04-30 18:20:01
    1.请回答采用线性探测再散列和链地址法处理冲突构建的哈希表中,查找失败的平均查找长度如何计算? 例:已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79) 哈希函数为:H(key)=keyMOD13,哈希表为m=15,设每个记录...

    题目描述:
    1.请回答采用线性探测再散列和链地址法处理冲突构建的哈希表中,查找失败时的平均查找长度如何计算?
    例:已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79)
    哈希函数为: H(key)=key MOD 13,哈希表长为m=15,设每个记录的查找概率相等,采用以上两种方法处理冲突,查找失败时的平均查找长度各是多少?

    今天数据结构老师讲的哈希表,留了一个“如何计算哈希表查找失败时的平均查找长度”可是把我给难为住了。(从中午12:00到下午16:00才搞懂,果然还是我太vegetable了

    几个小伙儿伴纷纷查资料,又是计算又是讨论,但是始终没有得到一致的结论。

    纠结的点主要就是:分母应该是哈希表长还是哈希函数里所给的MOD后面的13呢。查了很多资料发现里面的说法不一,而且查到的每一篇博客所给的题目都是除数(MOD后面的那个数)和哈希表长相等。(啊,可能我找的太少啦吧,找啦两三篇都是这样就去问老师啦)

    后来同学告诉我慕课上面讲的就有...anyway~现在是懂了,下面我就用大白话来描述一下我对这个“查找失败时的平均查找长度”的理解

    查找失败的次数就是指:根据哈希函数算出来你所要查找的关键字的位置,如果这个位置存的不是你的目标关键字,那么就按照你所定的存储哈希函数的规则,也就是所在位置+1向后寻找,直到找到你所要的关键字,如果遇到了表中的空位,那么就说明这个表中没有这个关键字,那么查找失败的次数就是你从“通过哈希函数算出的位置”到“表中的第一个遇到的空位”所经过的位数

    也就是说,分母指的是哈希表所给定的长度!!!

    就比如说,你的哈希表如下所示(由上面题目“采用线性探测再散列”生成的哈希表;):

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
      14 1 68 27 55 19 20 84 79 23 11 10    

    创建过程为:按照关键字序列顺序依次向哈希表中填入,发生冲突后按照“线性探测”探测到第一个空位置填入

    现在我问你:我想要查找关键字“2”,那么我需要比较多少次才能知道失败了呢?

    答:根据所生成的表可以很容易的看出,关键字“2”不存在于表中。通过题目所给的哈希函数H(key)=key MOD 13可以算出关键字“2”应该在表中序号为2的位置,而如果2的位置所存的数与关键字“2”不相等,那么我需要按照“线性探测”直到找到关键字“2”。如果我没有找到关键字“2”,反而是遇到了空的位置,那么就说明关键字“2”查找失败了,那么我所走的步数就是查找失败的次数。把所有的位置查找失败的次数加起来除以表的总长度,就是“查找失败时的平均查找长度”

    ps:如果有错误欢迎指正,来自一个卑微的计算机大学僧

    答案(以线性探测再散列为例):第一行:序号;第二行:关键字;第三行:查找成功时查找长度;第四行:查找失败时查找长度

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
      14 1 68 27 55 19 20 84 79 23 11 10    
      1 2 1 4 3 1 1 3 9 1 1 3    
    1 13 12 11 10 9 8 7 6 5 4 3 2 1 1

    查找失败时的平均查找长度=(1+13+12+11+10+9+8+7+6+5+4+3+2+1+1)/ 15 = 93 / 15

    展开全文
  • 如何计算一段程序的运行时间 如何计算一段程序的运行时间,这是大家所需要的一个功能。 而 C语言提供了这样一个函数,名为clock()。 clock():捕捉该程序从启动到函数调用占用CPU的 时间。单位为clock tick。 ...
  • 有些代码执行时间较久,我们希望能够计算出其实际运行时长。可以采用 datetime 库。 (1) 定义一个计算方法: import datetime def print_cost(start_time): ''' 计算耗时时长 :param start_time:开始时间 :...
  • 五、抽屉铜排长度如何计算 六、电容柜铜排如何选择? 一、水平母线长度计算 水平母排的计算,除了和柜宽有关外,还要考虑以下几点:1、如有要求母排出柜顶200,实际上铜排的总长度不仅是200,还要包括柜内与主母线...
  • 今天我们来说说如何计算函数图象在给定区间上的曲线长度。 如图,函数f(x)在区间[a,b]上的图象是一条平滑曲线,如何计算这种曲线的长度呢?我们知道在平面直角坐标系中的线段长度可以直接由两点距离公式求出,但我们...
  • 如何计算MP3的总时长问题

    千次阅读 2013-06-03 14:11:36
    但是这只是对固定比特率(CBR)的MP3总时长计算方式,对于变比特率(VBR)的MP3,由于每帧的比特率可能不同,用以上的公式就无法准确算出来mp3总时长,有些文档说可以计算平均比特率,但是这个估算值偏差有时候很大...
  • 利用websocket,每个页面开一个websocket连到服务端,然后页面将页面信息(哪个页面)传递给服务端(服务端开始计时),当页面关闭,这个页面的websocket也随之关闭,这是服务端能检测到的,然后服务端计算这个...
  • 在数据库中将完成时间减去受理时间,计算后结果显示1900-01-01 21:18:52.000 我需要的是21:18:52这样的格式。 请问可以怎样转换? [img=https://img-bbs.csdn.net/upload/202103/25/1616635612_717731.jpg][/...
  • 由于固定比特率的特殊性,很容易第一帧的帧头就能知道整个MP3的信息,但是对于变比特率(VBR)的MP3,比特率和帧长都不是固定的,所以我们就不能用之前的公式来计算时长。 其实在第一帧的帧头后面还存着VBR的...
  • 五、抽屉铜排长度如何计算 六、电容柜铜排如何选择? 一、水平母线长度计算 水平母排的计算,除了和柜宽有关外,还要考虑以下几点:1、如有要求母排出柜顶200,实际上铜排的总长度不仅是200,还要包括柜内与主母线...
  • ArcMap中如何计算Polyline的直线长度

    千次阅读 2018-04-30 08:56:00
    原文地址:ArcMap中如何计算Polyline的直线长度 在做地理数据分析,有时需要折线的直线长度,比如计算曲折度(Sinuosity = 实际长度L / 直线长度S)。本文记录了我在使用OpenStreetMap数据做分析,计算直线...
  • 计算登录时长

    2019-05-27 11:05:26
    这个时候就可以加个小功能,计算登录时长,下面就给大家介绍一下这个知识点。 首先还是在控制器这里添加一个方法名称,在获取登录那一刻的时间,在设置try来捕捉错误,判断它是否为空,如果为空就会报错,不为空就...
  • 当在处理字符,如果字节小于0x80,则把它当作单字节来处理,否则会继续读取下一个字节,这通常跟编码有关,GBK会将2个字节当成一个字符来处理,UTF8则需要3个字节。有时候在PHP中需要做类似的处理,比如计算字符串...
  • 安卓内使用AudioRecord录音保存后得到PCM格式的文件,如何得到该文件的播放时长
  • Potplayer播放器可以实现, ...打开播放列表,新建一个专辑,添加需计算时长的所有视频所在的文件夹到该专辑,右键选择“时间”。每个视频的时长显示在右侧,所有视频的总时长显示在右下角。 ...
  • )的MP3总时长计算方式,对于变比特率(VBR)的MP3,由于每帧的比特率可能不同,用以上的公式就无法准确算出来mp3总时长,有些文档说可以计算平均比特率,但是这个估算值偏差有时候很大,下一次我来详细讲如果求变化...
  • 如何计算MP3的总时长问题(一)

    千次阅读 2013-03-15 13:46:49
    但是这只是对固定比特率(CBR)的MP3总时长计算方式,对于变比特率(VBR)的MP3,由于每帧的比特率可能不同,用以上的公式就无法准确算出来mp3总时长,有些文档说可以计算平均比特率,但是这个估算值偏差有时候很大...
  • 文章目录Java 如何计算某一段文本的像素长度,海报绘制1、思路2、Java 代码3、计算居中的左边距 Java 如何计算某一段文本的像素长度,海报绘制 1、思路 前端思路,利用 span 撑开div,然后获取 div 的宽度来获取...
  • css:如何动态计算长度值

    千次阅读 2018-04-17 14:23:47
    不知道大家在写css长度单位是否会遇到一个问题,可能给高度给的是100vh大小,这时候因为某个原因要减去100px大小,这时候就懵了,算不了啊!!!!! 怎么办啊!!! 别急,小编教你怎么做。css3有一个新语法,对...
  • 我在wince操作系统中做录音机程序的开发,现在的需求是需要根据剩余内存计算出还能录多长时间,其中还可以设置采样率分别为128kbps、64kbps、32kbps,通过选择不同的采样率可以重新计算剩余可录时长。我用的是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,368
精华内容 947
关键字:

如何计算时长