处理时长计算,请高手给个 通用的函数方法

问题描述

现有一个表aaaa 其中e是起始时间(包含日期) f 是终止时间(包含日期)要求 求出从起始时间到终止时间具体是多长时间,具体到小时,下班时间不包括在内,每天8:30上班,18点下班,多谢! 处理时长:关闭时间-发起时间(只计营业时间:8:30-18:00),单位:小时;7.5小时工作时长,中午2小时的休息时间12:00到14:00 。如: 发起时间:2012-12-13 15:40 关闭时间:2012-12-16 15:30发起时间:2012-12-13 15:40 -- 13号处理时长=15:40 - 8:30 - 2小时(中午午休) 关闭时间:2012-12-16 15:30 -- 16号处理时长=15:30 - 8:30 - 2小时(中午午休) 总时长=5.1小时 + 2*7.5(14,15号处理时长) + 5小时 求一个通用的处理方法

解决方案

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateDeltaDemo {/** * @param args * @throws ParseException */public static void main(String[] args) throws ParseException {// TODO Auto-generated method stubString from="2012-12-13 15:40";String to="2012-12-16 15:30";calSub(from,to);}@SuppressWarnings("deprecation")public static void calSub(String from,String to) throws ParseException{ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date to1 = df.parse(to); Date from1=df.parse(from); long l=to1.getTime()-from1.getTime(); long day=l/(24*60*60*1000); long hour=(l/(60*60*1000)-day*24); long min=((l/(60*1000))-day*24*60-hour*60); System.out.println(""+day+"天"+hour+"小时"+min+"分"); double sum=day*7.5; System.out.println(sum); Date t1=new Date(from1.getYear(), from1.getMonth(), from1.getDate(),18, 00); Date t2=new Date(to1.getYear(), to1.getMonth(), to1.getDate(),8, 30); System.out.println(t1); System.out.println(t2); double temphour=0; System.out.println(from1.getHours()); if(from1.getHours()>=14){ temphour=(t1.getTime()-from1.getTime())*1.0/(60*60*1000); }else{ temphour=(t1.getTime()-from1.getTime())*1.0/(60*60*1000)-2; } double temphour1=0; if(to1.getHours()<=12){ temphour1=(to1.getTime()-t2.getTime())*1.0/(60*60*1000); }else{ temphour1=(to1.getTime()-t2.getTime())*1.0/(60*60*1000)-2; } System.out.println(temphour+" "+temphour1); System.out.println("总时间为:"+sum+temphour+temphour1);}}

时间: 2024-09-13 21:49:35

处理时长计算,请高手给个 通用的函数方法的相关文章

关于8051在IAR中延时程序的时长计算

问题描述 关于8051在IAR中延时程序的时长计算 小生初涉单片机,误打误撞认识了CSDN,怎么感觉好像运气不错哟,哈哈! 今天纠结在延时程序的编写,想知道如何根据主时钟频率按需编写一定时长的延时程序,特请各位同学老师指点一二,么么哒!谢谢啦!!! 主时钟频率32MHz,为何下面这个程序延时1秒呢,如何计算出来1070这个关键数字? void DelayMS(uint msec) { uint i,j; uint msec=1000; for (i=0; i<msec; i++) for (j=

安装VS2008时出错,请高手指点……

问题描述 安装VS2008时出现WindowsMobile5.0SDKR2forpocketPC和WindowsMobile5.0SDKR2forSmartphone错误,搜索了好多,但是基本上都是说"删除注册表项,CLSID{1D273EC2-2A24-46fe-9F70-544B27811DF3},位置在注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudioDeviceSDKInstaller1.0下"但是我找了,根本就没有找到Devi

python根据距离和时长计算配速示例_python

复制代码 代码如下: function cal_pace(d,h,m,s){ var distance = d; var hours = h; var minutes = m; var seconds = s; if(distance.length > 0 && hours.length > 0 && minutes.length > 0 && seconds.length > 0) {  var speed = parseFloat

新浪微博在线时长统计范围及计算办法

  一.微博在线时长计算办法: 每天登录微博,0.5小时内有使用行为,计入使用微博时长0.5小时. 二.微博在线时长范围主要有以下几方面: 1.微博网页版:浏览器中输入weibo.com ; 2.手机版微博:手机浏览器中输入weibo.cn; 3.微博桌面客户端:微博桌面.Air微博.Weico 新浪微博; 4.手机客户端:微博iPhone.iPad.Android .Android平板.Symbian .BlackBerry.Windows Phone 客户端及Weico iPhone . W

百度统计针对访问时长进行升级

随着百度外链工具的推出,百度统计也紧随其步伐于昨晚7点半左右进行了升级,从百度桌面按钮到昨天晚上百度统计平台的升级,这中间度娘给我们的惊喜不断,K站也不断,照夫唯老师的话来说是从站长平台到百度统计,新功能层出不穷,越来越亲民.今天就带大家来看看百度统计的新功能.昨天晚上百度统计升级后,进入统计,会看到一条明显的提示:系统升级,对用户访问时长算法优化,调整可能带来数据波动但更趋于用户真实的访问情况.   访问时长就不用我解释了吧,相信即使没接触过网站的同学看一眼也大概理解什么意思,而百度统计这次的

xmn-运行Java程序时,JVM参数没有生效,请高手帮忙看看。

问题描述 运行Java程序时,JVM参数没有生效,请高手帮忙看看. 小弟在学习GC的过程中,遇到JVM参数未生效的问题,一时不知道怎么解决,请路过大神帮帮忙指点指点,小弟谢过! 运行环境为:Win7 64bit, 4 core. 1,程序如下 public class PSGCDirectOldDemo { /** * @para args * @throws InterruptedException */ public static void main(String[] args) throw

vsm-利用java建立VSM模型时,矩阵太大应该怎么办?普通的增大内存都不管用了!!请高手赐教

问题描述 利用java建立VSM模型时,矩阵太大应该怎么办?普通的增大内存都不管用了!!请高手赐教 利用java建立VSM模型时,矩阵太大应该怎么办?普通的增大内存都不管用了!!请高手赐教 解决方案 挖掘机技术哪家强,中国山东找蓝翔 内存不够怎么办,电脑硬盘找办法 解决方案二: 你是在windows开发的吧?windows的JVM有最大内存限制,不同系统不同,单纯修改最大内存 -Xmx是没效果的.具体最大内存大小建议自己测试. 如果是在linux开发,内存不够的情况下,建议用持久化的办法.如何持

delphi-Delphi:cxGrid关联的DataSet中如果有Lookup字段时,反应非常慢,请高手指教!

问题描述 Delphi:cxGrid关联的DataSet中如果有Lookup字段时,反应非常慢,请高手指教! cxGrid关联的DataSet中如果有Lookup字段,数据记录大约在5百行左右,打开速度就特别慢. 比如: 在数据库中, 销售出库单中只有客户编号,即FCltCode,没有客户名称: 客户档案表中有客户编号FCode,客户名称FName, 在DataSet1中建立FCltName字段,为Lookup类型,通过FCltCode与FCode关联,显示FCltName. 在这种情况下,软件

winscp-用 winSCp连接 linux时,出现以下问题。。。。可以ping通。。请高手解答

问题描述 用 winSCp连接 linux时,出现以下问题....可以ping通..请高手解答 解决方案 是我虚拟机上Ip地址没有设置对,有固定的网段... 谢谢大家... 解决方案二: 防火墙的拦截,或者服务器没有启用sftp.换成ftp协议看看. http://jingyan.baidu.com/article/59a015e3ae8d11f795886569.html 解决方案三: linux上有没有配置ssh服务,有没有启动,需要ssh才能支持sftp 解决方案四: FTP协议不可以的话