Q:使用如下日期间隔函数diffHour 计算10:20-10:35 获得的值是0,怎么可以获得0.25?我尝试了将格式定义成##.##,还是不行。
代码如下:
var diff ="";
var starttime = getItemValueAsDate("start_time");
var endtime = getItemValueAsDate("end_time");
if (starttime != null && endtime !=null){
starttime = format (starttime,"yyyy-MM-dd HH:mm:ss");
endtime= format (endtime,"yyyy-MM-dd HH:mm:ss");
var diff = diffHours(starttime,endtime);//用diffHours则计算小时
}
//$PRINTER.println(diff);
diff;
A:diffHour方法是获取相差的小时,由于当前都是10点,所以得出来的结果自然就是0了,要实现您说的这种效果可以参考如下代码:
var startime=getItemValueAsDate("开始时间");
var endtime=getItemValueAsDate("结束时间");
var count;
var HourCount;
if(startime!=null&&endtime!=null)
{
var util = new Packages.cn.myapps.util.DateUtil();
count=util.getDiffDateTime(startime,endtime);//两个日期时间的差值,包括年月日 时间差值,单位为毫秒(ms)
HourCount = (Math.round((count / ( 60 *60* 1000)) * 100))/100; //然后再把毫秒转换为小时数
}
println(HourCount+"sssssssssssssss");
HourCount; |