首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

时间变量有关问题

2012-01-23 
时间变量问题现在用户输入时间字符串格式为2007-01(开始时间),2007-06(结束时间)现在要用时间变量保存这两

时间变量问题
现在用户输入时间字符串
格式为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算法不就可以啦嘛

热点排行