我晕~~~~~~~~忘记说了,顺序可以错乱,只要有必须的年份和月份就可以。
自己想出来了。郁闷~~~~~~~~不过,觉得好乱,有兴趣的英雄们,帮我优化一下吧!
public List getDate()throws Exception//获取200412~~~当前的所有日期
{
List list = new ArrayList();
String recdate = new SimpleDateFormat("yyyyMMddHHmmss", Locale.SIMPLIFIED_CHINESE).format(new Date()); String first = "200412";
list.add(first);
String other = "";
for(int n=(Integer.parseInt(recdate.substring(4,6)));Integer.parseInt(Integer.toString(n))<=12 && n >0;n--)
{
if(n<10)
other = recdate.substring(0,4)+"0"+Integer.toString(n);
else
other = recdate.substring(0,4)+Integer.toString(n);
list.add(other);
}
if((Integer.parseInt(recdate.substring(0,4))-2005)>=1)
{
for(int i=(Integer.parseInt(recdate.substring(0,4))-2005);i>0;i--)
{
for(int j=1;j<13;j++)
{
String mid ="";
if(j<10)
mid = Integer.toString((2004+i))+"0"+Integer.toString(j);
else
mid = Integer.toString((2004+i))+Integer.toString(j);
list.add(mid);
}
}
}
return list;
}
自己想出来了。郁闷~~~~~~~~不过,觉得好乱,有兴趣的英雄们,帮我优化一下吧!
public List getDate()throws Exception//获取200412~~~当前的所有日期
{
List list = new ArrayList();
String recdate = new SimpleDateFormat("yyyyMMddHHmmss", Locale.SIMPLIFIED_CHINESE).format(new Date()); String first = "200412";
list.add(first);
String other = "";
for(int n=(Integer.parseInt(recdate.substring(4,6)));Integer.parseInt(Integer.toString(n))<=12 && n >0;n--)
{
if(n<10)
other = recdate.substring(0,4)+"0"+Integer.toString(n);
else
other = recdate.substring(0,4)+Integer.toString(n);
list.add(other);
}
if((Integer.parseInt(recdate.substring(0,4))-2005)>=1)
{
for(int i=(Integer.parseInt(recdate.substring(0,4))-2005);i>0;i--)
{
for(int j=1;j<13;j++)
{
String mid ="";
if(j<10)
mid = Integer.toString((2004+i))+"0"+Integer.toString(j);
else
mid = Integer.toString((2004+i))+Integer.toString(j);
list.add(mid);
}
}
}
return list;
}
List dates = new ArrayList();
Date curDate = Calendar.getInstance().getTime();
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyyMM");
String dateStr = dateFormatter.format(curDate);
String year = dateStr.substring(0,4);
String month = dateStr.substring(4,6);
int monthInt = Integer.parseInt(month);
for(int i=0;i<monthInt;i++){
if(i<10){
dates.add(year + "0" + i);
}else{
dates.add(year + i);
}
}
return dates;
}
看不懂...