使用java、js和sql计算两个日期的时间差
2017-10-14 14:46
866 查看
Java计算两个日期的时间差
以下为例子Date stime = mt.getStartTime(); Date etime = mt.getEndTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Double time = (double) (etime.getTime()/1000 - stime.getTime()/1000);//以秒为单位 Double hours = time /(60 * 60);//以小时为单位 DecimalFormat df = new DecimalFormat("######0.00");//保留两位小数 Double formatTime = Double.valueOf(df.format(hours)); mt.setWorkHour(formatTime);
计算过程中先后使用了两种方法
这两种方法精度相差很大
第一种方法在相除之后强转数据类型损失的精度很大
第二种方法在第一次强转之后显示三位小数 以科学计数法来显示
Long time = (etime.getTime() - stime.getTime()); Double hours = (double) (time /(1000 * 60 * 60)); Double time = (double) (etime.getTime()/1000 - stime.getTime()/1000); Double hours = time /( 60 * 60);
JS计算两个日期的时间差
以为下例子var usedTime = etime - stime; var days=Math.floor(usedTime/(24*3600*1000)); //计算出小时数 var leave1=usedTime%(24*3600*1000); //计算天数后剩余的毫秒数 var hours=Math.floor(leave1/(3600*1000));//计算相差分钟数 var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数 var minutes=Math.floor(leave2/(60*1000)); var workHour = days + "天"+hours+"时"+minutes+"分"; return workHour;
js中取得数据之后想要保留两位小数
var time = record.get('takeTime'); time = time.toFixed(2);//为四舍五入的情况
ORACLE中使用SQL计算两个日期的时间差
以下为例子SELECT (UPDATE_TIME - CREATE_TIME)*24 FROM MES_MACHINE MACH WHERE UPDATE_TIME IS NOT NULL
如需保留两位小数 则使用round函数 ROUND(DATA,保留位数)
SELECT ROUND((UPDATE_TIME - CREATE_TIME)*24,2) FROM MES_MACHINE MACH WHERE UPDATE_TIME IS NOT NULL
计算时间差以天、小时、分钟、秒为单位的情况
1. oracle 两个时间相减默认的是天数
2. oracle 两个时间相减默认的是天数*24 为相差的小时数
3. oracle 两个时间相减默认的是天数*24*60 为相差的分钟数
4. oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数
相关文章推荐
- SQL---计算两个日期之间的时间差
- js计算两个日期的时间差
- JS计算两个日期之间的天数,时间差计算
- js计算出两个日期的时间差
- Java 计算两个日期的时间差
- 【原创工具】JAVA后台计算两个日期之间的工作日时间差
- js前台计算两个日期的间隔时间(时间差)
- JAVA后台计算两个日期之间的工作日时间差
- SQL---计算两个日期之间的时间差
- java 计算两个日期的时间差
- java 输入日期取星期几的方法 计算两个时间段中间的
- SQL计算两个日期之间的工作天数
- java计算两个任意日期间的相差的天数(自然天)
- SQL 计算两个日期间的间隔
- Sql计算两个日期之间的天数
- 计算Java日期 学习怎样创建和使用日期
- [Java,JS] - 不使用第三个变量完成两个整数的交换
- 计算Java日期--学习怎样创建和使用日期
- 两个日期字符串的js计算
- Java中计算任意两个日期之间的工作天数