一. 时间差转小时
需求:09:50 到 22:30经历了几个小时。
例:09:30-10:00经历了1.5小时
- 需要把时间格式定义为hh:mm,将两个时间转为Date类型,调用getTime()方法相减,
- 得到的结果转为double类型,再result/(10006060),得到一个小数四舍五入保留一位小数
String.format("%.1f",hours);
- 如此所得到的结果就是小时数。long/整数=得到的是 整数,不会有小数
代码如下
try {
DateFormat df = new SimpleDateFormat("HH:mm");
Date end = df.parse(dynamiDetail.getLpanEndTime());
Date start = df.parse(dynamiDetail.getPlanStartTime());
Double planTime = Double.parseDouble(String.valueOf(end.getTime()-start.getTime()));
double hours = planTime/(1000* 60 * 60);
String result = String.format("%.1f",hours);
dynamiDetail.setPlanTime(result);
} catch (ParseException e) {
e.printStackTrace();
}
二. 字段相同对象赋值
import com.dragonsoft.slxf.config.GeneralConvertor;
@Service
@Transactional
public class TSlxfAviationDynamiService extends BaseService<AviationDynami, String> implements ITSlxfAviationDynamiService {
@Autowired
private GeneralConvertor generalConvertor;
/**
* 分页查询飞行计划动态明细列表
* @param searchable
* @return
*/
@Override
public Page<TSlxfAviationDynami> searchDynamic(Searchable searchable) {
Page<AviationDynami> paging = slxfAviationDynamiRepository.paging(searchable);
List<AviationDynami> content = paging.getContent();
List<TSlxfAviationDynami> convertor = generalConvertor.convertor(content, TSlxfAviationDynami.class);
return new PageImpl<>(convertor, paging.getPageable(), paging.getTotalElements());
}
}
generalConvertor.convertor(原来的对象,要转换的对象.class)
返回结果就是要转换的对象类型比BeanUtils.copyProperties(v1,v2)高效;
网友评论