例如:date1:2009-10;
date2:2010-07;
获取 一个String[] 里面的值为: 2009-10,2009-11,2009-12,2010-01,。。2010-06 为止望各位高手不吝赐教~~
date2:2010-07;
获取 一个String[] 里面的值为: 2009-10,2009-11,2009-12,2010-01,。。2010-06 为止望各位高手不吝赐教~~
解决方案 »
- 如何使用excel转换成jsp,并且jsp中部分input 框的type是动态的。
- axis2部署开发webservice实现服务器和服务器之间通信
- spring可以运行在apache服务器下吗
- EJB3中调用Oracle9i的存储过程和函数的方法
- eclipse怎么导入Hibernate源码?
- 急聘WEB程序员,项目经理
- 哪位高手知道较好的群发邮件的原理或者代码?谢谢,能给点建议嘛?100分。
- 求Struts高手指点
- java用SOAP调用WEB SERVICE的问题,帮忙看看,已经郁闷好几天了
- 请问运行JMS程序时如何设置URL以找到JNDI服务器?
- 关于泛型和Spring扫描注入请教.
- select* from与select字段的区别?
public class Test{
public String[] getAllMonths(String start, String end){
String splitSign="-";
String regex="\\d{4}"+splitSign+"(([0][1-9])|([1][012]))"; //判断YYYY-MM时间格式的正则表达式
if(!start.matches(regex) || !end.matches(regex)) return new String[0];
List<String> list=new ArrayList<String>();
if(start.compareTo(end)>0){
//start大于end日期时,互换
String temp=start;
start=end;
end=temp;
}
String temp=start; //从最小月份开始
while(temp.compareTo(start)>=0 && temp.compareTo(end)<0){
list.add(temp); //首先加上最小月份,接着计算下一个月份
String[] arr=temp.split(splitSign);
int year=Integer.valueOf(arr[0]);
int month=Integer.valueOf(arr[1])+1;
if(month>12){
month=1;
year++;
}
if(month<10){//补0操作
temp=year+splitSign+"0"+month;
}else{
temp=year+splitSign+month;
}
}
int size=list.size();
String[] result=new String[size];
for(int i=0;i<size;i++){
result[i]=list.get(i);
}
return result;
}
public static void main(String[] args) {
String start="2009-10";
String end="2010-07";
Test te=new Test();
String[] result=te.getAllMonths(start, end);
for (String str : result) {
System.out.println(str);
}
}
}
{
public static void main(String[] args) throws Exception
{
DateFormat aa = DateFormat.getDateInstance();
Date date1 = aa.parse("2009-10-01"); // 开始日期
Date date2 = aa.parse("2010-07-01"); //结束日期
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
List list = new ArrayList();
list.add("2009-10");
c1.setTime(date1);
c2.setTime(date2);
while (c1.compareTo(c2)<0)
{
c1.add(Calendar.MONTH,1);// 开始日期加一个月直到等于结束日期为止
Date ss =c1.getTime();
String str =aa.format(ss);
str =str.substring(0,str.lastIndexOf("-"));
list.add(str);
}
String[] str= new String[list.size()];
for (int i=0;i<list.size();i++ )
{
str[i] =(String)list.get(i);
}
System.out.println( Arrays.toString(str));
}
}