Java中String型与Date型数据的互相转换
/** * Date类型转为指定格式的String类型 * * @param source * @param pattern * @return */ public static String DateToString(Date source, String pattern) { simpleDateFormat = new SimpleDateFormat(pattern); return simpleDateFormat.format(source); }
/** * * 字符串转换为对应日期 * * @param source * @param pattern * @return */ public static Date stringToDate(String source, String pattern) { simpleDateFormat = new SimpleDateFormat(pattern); Date date = null; try { date = simpleDateFormat.parse(source); } catch (Exception e) { } return date; }
获取两个时间之间的分钟集合
public static List<String[]> findTimes(String dBegin, String dEnd) { List<String[]> timeList = new ArrayList<String[]>(); Calendar calBegin = Calendar.getInstance(); calBegin.setTime(DateUtils.stringToDate(dBegin, "yyyyMMddHH")); Calendar calEnd = Calendar.getInstance(); calEnd.setTime(DateUtils.stringToDate(dEnd, "yyyyMMddHH")); String temps = null; String tempe = null; while (calBegin.getTime().compareTo(calEnd.getTime()) == -1) { String[] lDate = new String[2]; temps = DateUtils.DateToString(calBegin.getTime(), "yyyyMMddHHmm"); calBegin.add(Calendar.MINUTE, 1); tempe = DateUtils.DateToString(calBegin.getTime(), "yyyyMMddHHmm"); lDate[0] = temps; lDate[1] = tempe; timeList.add(lDate); temps = tempe; } return timeList; }
List<String[]> listInfo=findTimes("2017080801","2017080802");
//结果数组
[["201708080100","201708080101"],["201708080101","201708080102"],.....,["201708080158","201708080159"],["201708080159","201708080200"]]