精华内容
下载资源
问答
  • java 计算有效时长,有一时间段不计算时长计算时效性 计算 2020-08-07 10:10:23 到 2020-08-08 22:10:23 时间段内有多少小时,每天的01:00:00至06:00:00不计时长 计算时效性 同一天内有6种情况,分别是 00:00:00[s]...

    java 计算有效时长,有一时间段不计算时长

    计算 2020-08-07 10:10:23 到 2020-08-08 22:10:23 时间段内有多少小时,每天的01:00:00至06:00:00不计时长

    计算时效性

    同一天内有6种情况,分别是
    00:00:00[s][e]01:00:00;
    00:00:00[s]01:00:00 AND 01:00:00[e]06:00:00
    00:00:00[s]01:00:00 AND 06:00:00[e]23:59:59
    01:00:00[s][e]06:00:00
    01:00:00[s]06:00:00 AND 06:00:00[e]23:59:59
    06:00:00[s][e]23:59:59
    计算不同天,不同天分为两个同一天分别计算相加
    1.第一天开始时间~ “23:59:59”
    2."00:00:00"~最后一天的结束时间
    计算不同天的天数减去1得到相隔周期,乘以周期值

    import java.text.DecimalFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * 累计时长计算 并且每天的01:00:00至06:00:00不计时长
     * 
     * @author weixiaoshuai 2020-08-07 16:00:00
     *
     */
    public class wxsJS {
    
    	private static String start = "01:00:00";
    	private static String end = "06:00:00";
    
    	public static void main(String[] args) {
    		String startTime1 = "2020-08-07 10:10:23";
    		String endTime1 = "2020-08-08 22:10:23";
    		System.out.println("有效时长:"+new wxsJS().youxiaoshichangjisuan(startTime1, endTime1));// 有效时长H
    	}
    
    	public String youxiaoshichangjisuan(String startTime1, String endTime1) {
    		String s = " ";
    		DecimalFormat df1 = new DecimalFormat("0.00");
    		try {
    			Date startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startTime1);
    			Date endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endTime1);
    			float shichang1 = (endTime.getTime() - startTime.getTime()) / 1000.0F / 60.0F;// 60.0F;
    			float shichang = 0;
    			String startTian = startTime1.split(" ")[0];
    			String endTian = endTime1.split(" ")[0];
    			Date t1 = new SimpleDateFormat("yyyy-MM-dd").parse(startTian);
    			Date t2 = new SimpleDateFormat("yyyy-MM-dd").parse(endTian);
    			int t = (int) ((t2.getTime() - t1.getTime()) / 1000.0F / 60.0F / 60.0F / 24.0F);
    			String startHms = startTime1.split(" ")[1];
    			String endHms = endTime1.split(" ")[1];
    			if (t == 0) {// 同一天的时间 endHmsD 永远大于 startHmsD
    							// 00:00:00~[s][e]~01:00:00 or
    							// 00:00:00~[s]~01:00:00 or
    							// 06:00:00~[e]~23:59:59 or
    							// 06:00:00~[s][e]~23:59:59
    				shichang = cs(startHms, endHms);
    			} else {// 不同一天的时间 endHmsD 永远大于 startHmsD
    				// 00:00:00~[e]~01:00:00 or
    				// 00:00:00~[s][e]~01:00:00 or
    				// 00:00:00~[s]~01:00:00 or
    				// 06:00:00~[e]~23:59:59 or
    				// 06:00:00~[s][e]~23:59:59 or
    				// 06:00:00~[s]~23:59:59
    				float shichangone = cs(startHms, "23:59:59");
    				float shichangtow = cs("00:00:00", endHms);
    				shichang = shichangone + shichangtow + ((t - 1) * 19);
    			}
    			s = df1.format(shichang);
    			System.err.println(t + "告警开始时间:" + startTime1 + " - " + endTime1 + " -- " + shichang1 + " --- " + shichang);
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return s;
    
    	}
    
    	private static float cs(String startHms, String endHms) throws ParseException {
    		float shichang = 0;
    		Date startHmsD = new SimpleDateFormat("HH:mm:ss").parse(startHms);
    		Date endHmsD = new SimpleDateFormat("HH:mm:ss").parse(endHms);
    		Date duan1 = new SimpleDateFormat("HH:mm:ss").parse("00:00:00");
    		Date duan2 = new SimpleDateFormat("HH:mm:ss").parse(start);
    		Date duan3 = new SimpleDateFormat("HH:mm:ss").parse(end);
    		Date duan4 = new SimpleDateFormat("HH:mm:ss").parse("23:59:59");
    		if (startHmsD.getTime() >= duan1.getTime() && startHmsD.getTime() <= duan2.getTime()
    				&& endHmsD.getTime() >= duan1.getTime() && endHmsD.getTime() <= duan2.getTime()) {
    			// 00:00:00~[s][e]~01:00:00
    			shichang = shichang + (endHmsD.getTime() - startHmsD.getTime()) / 1000.0F / 60.0F / 60.0F;
    		}
    		if (startHmsD.getTime() >= duan1.getTime() && startHmsD.getTime() <= duan2.getTime()
    				&& endHmsD.getTime() >= duan2.getTime() && endHmsD.getTime() <= duan3.getTime()) {
    			// 00:00:00~[s]~01:00:00
    			// AND
    			// 01:00:00~[e]~06:00:00
    			shichang = shichang + (duan2.getTime() - startHmsD.getTime()) / 1000.0F / 60.0F / 60.0F;
    		}
    		if (startHmsD.getTime() >= duan1.getTime() && startHmsD.getTime() <= duan2.getTime()
    				&& endHmsD.getTime() >= duan3.getTime() && endHmsD.getTime() <= duan4.getTime()) {
    			// 00:00:00~[s]~01:00:00
    			// AND
    			// 06:00:00~[e]~23:59:59
    			shichang = shichang + (duan2.getTime() - startHmsD.getTime()) / 1000.0F / 60.0F / 60.0F
    					+ (endHmsD.getTime() - duan3.getTime()) / 1000.0F / 60.0F / 60.0F;
    		}
    		if (startHmsD.getTime() >= duan2.getTime() && startHmsD.getTime() <= duan3.getTime()
    				&& endHmsD.getTime() >= duan2.getTime() && endHmsD.getTime() <= duan3.getTime()) {
    			// 01:00:00~[s][e]~06:00:00
    			shichang = 0;
    		}
    		if (startHmsD.getTime() >= duan2.getTime() && startHmsD.getTime() <= duan3.getTime()
    				&& endHmsD.getTime() >= duan3.getTime() && endHmsD.getTime() <= duan4.getTime()) {
    			// 01:00:00~[s]~06:00:00
    			// AND
    			// 06:00:00~[e]~23:59:59
    			shichang = shichang + (endHmsD.getTime() - duan3.getTime()) / 1000.0F / 60.0F / 60.0F;
    		}
    		if (startHmsD.getTime() >= duan3.getTime() && startHmsD.getTime() <= duan4.getTime()
    				&& endHmsD.getTime() >= duan3.getTime() && endHmsD.getTime() <= duan4.getTime()) {
    			// 06:00:00~[s][e]~23:59:59
    			shichang = shichang + (endHmsD.getTime() - startHmsD.getTime()) / 1000.0F / 60.0F / 60.0F;
    		}
    
    		return shichang;
    	}
    }
    
    展开全文
  • 计算PCM文件计算时长

    千次阅读 2019-06-13 10:37:22
    采样精度:用以表示量化级别的二进制数据的位数,称为采样精度(Sampling ...计算声音文件的数据量如果采样频率为8kHz,样本精度为8位,则产生的数据率为: 8(bit)*8kHz=64.0kb/s如果使用双声道,则要对两个通道...

    采样精度:用以表示量化级别的二进制数据的位数,称为采样精度(Sampling precision),也叫样本位数或位深度,用每个样本的位数(bit或b)表示。位数越少,声音质量越低,需要存储空间越少。采样频率和采样精度是数字声音质量的两项重要指标。
    计算声音文件的数据量如果采样频率为8kHz,样本精度为8位,则产生的数据率为:
    8(bit)*8kHz=64.0kb/s如果使用双声道,则要对两个通道上的声音同时采样和量化,数据量是单声道数字化的两倍,即:
    8(bit)8kHz2(声道数)=128kb/s1分钟的双声道声音文件的数据量为:
    8(bit)8kHz2(声道数)*60(秒)/(bit/Byte)=960kB

    可见数字音频文件大小的计算公式为:数据量Byte=
    采样频率Hz
    ×(采样位数/8)
    × 声道数
    × 时间s[例]如果采样频率为44.1kHz,分辨率为16位,立体声,录音时
    间为10s,符合CD音质的声音文件的大小是多少?
    根据计算公式:
    数据量Byte= 44100Hz×(16/8)×2×10s=1764KByte

    PCM文件大小=采样率采样时间采样位深/8*通道数(Bytes)

    转:https://zhidao.baidu.com/question/571036075.html

    展开全文
  • PCM 计算时长

    千次阅读 2016-10-14 10:21:11
    http://zhidao.baidu.com/link?url=46eXXPHM1PAb_7wIIpiwIkDRQVBO1Sw2SbMadMVBMlPnpqb5q8aKMuR-UqPIBVBM893zOvBablicZKPOfEvETq
    http://zhidao.baidu.com/link?url=46eXXPHM1PAb_7wIIpiwIkDRQVBO1Sw2SbMadMVBMlPnpqb5q8aKMuR-UqPIBVBM893zOvBablicZKPOfEvETq
    展开全文
  • 时长计算

    千次阅读 2019-07-27 15:36:42
    时长计算,通俗的说就是要计算两个时间之间的间隔时间。其实它在项目的使用中也是尤为常见,如获取登录时间计算一下登陆的时长,所以我就以登录时长来简单说明。 首先我们要计算登录的时长就要获取到登录那一刻的...

    开发工具与关键技术: VS MVC基础
    作者:卢雅婷
    撰写时间:2019/07/27

    时长的计算,通俗的说就是要计算两个时间之间的间隔时间。其实它在项目的使用中也是尤为常见,如获取登录时间计算一下登陆的时长,所以我就以登录时长来简单说明。
    首先我们要计算登录的时长就要获取到登录那一刻的时间和登录完成那一刻的时间,而登录完成时间我们可以取当前时间,所以在登录的那一刻我们要获取它的时间并保存在session中,接着写执行时长计算的方法,如下
    public ActionResult GetLoginTimes()
    {
    try
    {
    获取Session中的时间//获取登录那一刻的时间
    string loginTime = Session[“ServerTime”].ToString();
    转为datetime
    DateTime dateTimeLogin = Convert.ToDateTime(loginTime);
    DateTime dateTimeNow = DateTime.Now;//获取当前时间,为完成登录的时间
    求时间差
    TimeSpan ts = dateTimeNow - dateTimeLogin;
    //声明返回变量
    string str = “”;
    if (ts.Hours > 0)
    {
    str = ts.Hours.ToString() + “小时 " + ts.Minutes.ToString() + “分钟 " + ts.Seconds + “秒”;//x小时x分钟x秒,(因为我的业务要求的时长范围不需要用到天,所以只计算时分秒)
    }
    if (ts.Hours == 0 && ts.Minutes > 0)
    {
    str = ts.Minutes.ToString() + “分钟 " + ts.Seconds + “秒”;//x分钟x秒
    }
    if (ts.Hours == 0 && ts.Minutes == 0)
    {
    str = ts.Seconds + “秒”;//x秒
    }
    return Json(str, JsonRequestBehavior.AllowGet);
    }
    catch (Exception)
    {
    //重定向到登录页面
    return Redirect(”/Main/Login”);
    }
    }
    接着回到页面写执行时长计算方法
    $(function () {
    //执行时长计算方法
    time();
    })
    //执行时长计算方法
    function time() {
    $.ajax({
    type: “post”,
    url: “/Main/GetLoginTimes”,
    dataType: “json”,
    success: function (data) {//回调函数
    $(”#LoginTime").html(data);
    }
    });
    //一次性计时器
    setTimeout(“time()”, 1000);
    }
    效果如下
    在这里插入图片描述
    时长的计算就讲到这里。感谢阅读,如有更好方法,请留言。

    展开全文
  • 但是这还不够精确, 包装标准的 PCM 格式的 WAVE 文件(*.wav)中至少带有 42 个字节的头信息, 在计算播放时间应该将其去掉,  所以就有:(424644-42) / (22050*16*2/8) ≈ 4.8140816(秒). 这样就比较精确了.
  • 计算请假时长这块总结一下:按天计算的就不总结了比较简单,这里总结一下按小时数计算的 ,话不多说,直接上代码 // 获取两个日期相差的工作小时(不包括节假日) function getHour(StartTime, EndTime) { ...
  • function formatDuring(mss) { var days = parseInt(mss / (1000 * 60 * 60 * 24)); var hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = parseInt((mss % (1000 * 60 *....
  • hive计算网页停留时长

    千次阅读 2015-08-21 15:22:08
    用户最后一次浏览的网页时长:因为不知道用关闭浏览器的时间,所以没办法计算,就返回一个特定的值吧,我这里返回的是0。 跨天:任务是按天统计,还没有第二天的数据,所以不考虑跨天。 连续点开多个网页:按...
  • 计算两个日期之前的工作日时长(小时)
  • 安卓内使用AudioRecord录音保存后得到PCM格式的文件,如何得到该文件的播放时长
  • ![图片说明](https://img-ask.csdn.net/upload/201708/15/1502761296_142739.png) 当点击结束时间之后自动赋值给检查时长,按小时计算一天=24小时
  • 如何计算MP3的总时长问题

    千次阅读 2013-06-03 14:11:36
    但是这只是对固定比特率(CBR)的MP3总时长计算方式,对于变比特率(VBR)的MP3,由于每帧的比特率可能不同,用以上的公式就无法准确算出来mp3总时长,有些文档说可以计算平均比特率,但是这个估算值偏差有时候很大...
  • 计算MP4文件播放时长的方法

    万次阅读 2012-06-17 22:26:22
    计算MP4文件的播放时长,可以通过在mvhd box中去取得timescale和duration后计算得到: 播放时长 = duration / timescale 单位为秒(s)。 下面先介绍mvhd的结构。 Movie Header Atoms - MVHD Movie header ...
  • 有效工作时长计算

    千次阅读 2018-06-01 21:54:19
    微信公众号原文 系统:Windows 7 软件:Excel 2010 使用场景or困惑 已知一件工作的开始时间和结束时间,求解工作了多少...每一整天中工作时长是一致的,那么我们只需要计算开始那一天和结束那一天的工作时长...
  • 用FFmpeg SDK计算MP3文件的时长

    千次阅读 2017-05-09 08:59:39
    说明 首先需要编译FFmpeg,这个网上已经有很多资料了,这里...计算MP3文件时长主要利用 avformat_find_stream_info读取文件信息,AVFormatContext中的成员变量duration用来描述MP3文件的时长。注意duration的值为实际秒
  • 计算网页停留时间的平均时长

    千次阅读 2017-06-15 16:58:10
    需求:现在有好多用户访问某个网页的停留时间,要计算平均时长。求均值是不太合理的,因为有的时间特别的长,这样的时间应该是噪音数据,这样计算的均值感觉就偏大。我感觉应该先找到事件的分布,然后根据分布计算它...
  • c_continueDateTime(timeStamp){ // 根据时间戳计算具体持续时间,天 分 秒 let totalTime = timeStamp; console.log(totalTime,'totalTime1'); let days = parseI...
  • AAC音频文件时长计算

    千次阅读 2017-09-15 14:04:59
    1.如何计算音频文件的时长? 大致的思路 如果文件是CBR,则总时长为t=file_size/bitrate bitrate则是文件的固定码率。对于固定码率的音频文件必定有文件头可以读取到这个消息。file_size为整个音频文件的长度。 ...
  • java 根据URL获取时长,视频大小

    万次阅读 2017-11-09 17:04:49
    java 根据URL获取时长,视频大小
  • audio获取时长,注意事项,计时器

    万次阅读 2016-08-10 20:05:15
    现象:第一种时长正常,第二种时长audio.duration为nan 分析:第一种情况,获取时长时,已经加载了音频,点击时可以获取音频时长;第二种,点击的时候,音频为加载,获取不到时长。 解决方法:audio....
  • long startTime=System.currentTimeMillis(); //执行方法 long endTime=System.currentTimeMillis(); float excTime=(float)(endTime-startTime)/1000; System.out.println("执行时间:"+excTime+"s");...
  • Potplayer播放器可以实现, ...打开播放列表,新建一个专辑,添加需计算时长的所有视频所在的文件夹到该专辑,右键选择“时间”。每个视频的时长显示在右侧,所有视频的总时长显示在右下角。 ...
  • 简述在 Qt 之 WAV文件解析 中给出了WAV文件属性的计算,具体包括文件大小、音频时长、比特率等属性,这里我们再次验证一下这些属性值的计算 。在计算之前,我们要知道一下wav文件中的三个参数 采样频率、音频通道数...
  • 1、“mAh”是电池容量的单位,中文名称为毫安(在衡量大容量电池如铅蓄电池,为了方便起见,一般用“Ah”来表示,中文名是安)。1mAh=0.001安培*3600秒=3.6安培秒=3.6库仑2、库仑是电量单位,库仑不是国际单位...
  • C++程序运算时间计算

    千次阅读 2018-07-03 16:38:06
    如果计算时间较,想要把时间换算成一共运算了多少天多少多少分多少秒的形式,可以灵活运用求余运算符%: 注意: clock() 函数返回程序目前为止运行的时间,所以,如果在程序结束之前调用此函数,便可...
  • java获取上传视频的时长

    千次阅读 热门讨论 2019-06-26 09:55:21
    自动获取视频时长: 1、获取相关 jar包 。可上传到私服中,提取地址,提取码:0c8m 2、部分业务代码 (还可以获取到其他参数信息视频高度,宽度,大小等,根据需要自行获取): import it.sauronsoftware.jave....
  • Unity通过Animator获取动画clip时长

    千次阅读 2019-08-05 16:58:31
    ///获取动画状态机animator的动画clip的播放持续时长 public static float GetClipLength(Animator animator, string clipName) { if(null== animator || string.IsNullOrEmpty(clip) || null == animator....
  • mp3、amr、wav三种音频格式时长获取

    千次阅读 2019-02-23 11:19:28
    在平时开发过程中可能遇到需要上传相关音频文件到后台,并且计算各种音频文件的时长,因此对三种音频格式(mp3、amr和wav)的时长计算进行了简单的调研,现将相关实现记录一下,也方便需要的朋友查看。 (1)mp3...
  • js获取视频时长

    万次阅读 2017-07-23 11:13:07
    &lt;!DOCTYPE html&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,916,454
精华内容 766,581
关键字:

如何计算时长