您的位置:首页 > 编程语言 > Java开发

java解决“字符串”和“带格式日期数字”之间的匹配问题

2017-06-21 16:05 597 查看
logger.debug("=== TrafficSituationDaoImpl === findCasualtiesCount === begin");

AccidentAnalysisVO accidentAnalysisVO = new AccidentAnalysisVO();

try {
Query query = em.createNativeQuery(sqlString);
List<Object> objectList = query.getResultList();
for (int i = 0; i < objectList.size(); i++) {
Object[] obj = (Object[]) objectList.get(i);

Calendar calendar = Calendar.getInstance();
String month;

String year = String.valueOf(calendar.get(Calendar.YEAR));

if (calendar.get(Calendar.MONTH) < 10) {   //2017-06   oracle数据库中日期的格式
month = year + "-" + "0" + String.valueOf(calendar.get(Calendar.MONTH) + 1);
} else {
month = year + "-" + String.valueOf(calendar.get(Calendar.MONTH) + 1);
}

String day = year + "-" + String.valueOf(calendar.get(Calendar.MONTH) + 1) + "-"
+ String.valueOf(calendar.get(Calendar.DATE));   //2017-06-21

Map<String, Integer> map = new HashMap<String, Integer>();  //实现 字符串 和 数值 之间的转换
map.put(year, 1);
map.put(month, 2);
map.put(day, 3);

switch (map.get(obj[0].toString())) {
case 1: // 本年
accidentAnalysisVO.setCasualtiesNumberYear(((BigDecimal) obj[1]).add((BigDecimal) obj[2])); 
break;
case 2: // 本月
accidentAnalysisVO.setCasualtiesNumberMonth(((BigDecimal) obj[1]).add((BigDecimal) obj[2]));
break;
case 3: // 本日
accidentAnalysisVO.setCasualtiesNumberDay(((BigDecimal) obj[1]).add((BigDecimal) obj[2]));
break;
default:
System.out.println("正在查询,请稍候!");
break;
}
}
} catch (Exception e) {
e.printStackTrace();
throw new PoliceSituationException("方法执行错误:findCasualtiesCount方法执行失败");
}
logger.debug("=== TrafficSituationDaoImpl === findCasualtiesCount === end");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: