日常工作中经常遇到关于日期的处理,下面把自个写好的Java代码段分享一下,也当做自个的一个备份,同时也欢迎交流,如若分享请注明出处,谢谢。
1.返回两个时间段之间的月份:
/** * 返回任意两个月份之间的所有月份,以list返回 * 比如起止月份参数为2013-12,2014-02 则返回2013-12,2014-01,2014-02的list * @author HsuChan * @version v1.0 2014-10-14 * @param startDate * @param endDate * @return List<String> * @throws ParseException */ public static List<String> getMonthBetween(String startDate,String endDate) throws ParseException { ArrayList<String> ymList = new ArrayList<String>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); Date minDate = sdf.parse(startDate); Date maxDate = sdf.parse(endDate); Calendar min = Calendar.getInstance(); Calendar max = Calendar.getInstance(); min.setTime(minDate); min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1); max.setTime(maxDate); max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2); Calendar curr = min;//临时变量 while (curr.before(max)) {//只要在最大月份前则循环添加到list中 ymList.add(sdf.format(curr.getTime())); curr.add(Calendar.MONTH, 1);//顺次加一 } return ymList; }