时间变量问题
现在用户输入时间字符串
格式为2007-01(开始时间),2007-06(结束时间)
现在要用时间变量保存这两个变量
用for循环
按月递增2007-01,2007-02,2007-03,2007-04,2007-05,2007-06
代码应该怎么写?
[解决办法]
以月来循环
int m = d.getMonth();
[解决办法]
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM ");
Date start = sdf.parse( "2007-01 ");
Date end = sdf.parse( "2008-06 ");
List <Date> list = getMonths(start, end);
for(Date d : list) {
System.out.println(sdf.format(d));
}
}
public static List <Date> getMonths(Date start, Date end) {
Calendar c1 = new GregorianCalendar();
c1.setTime(start);
Calendar c2 = new GregorianCalendar();
c2.setTime(end);
List <Date> list = new ArrayList <Date> ();
list.add(start);
while(c1.compareTo(c2) < 0) {
c1.add(Calendar.MONTH, 1);
list.add(c1.getTime());
}
return list;
}
[解决办法]
把年份和月份一起做个简单的hash算法不就可以啦嘛